#ifndef INCLUDE_LLHTTP_H_
#define INCLUDE_LLHTTP_H_

#define LLHTTP_VERSION_MAJOR 6
#define LLHTTP_VERSION_MINOR 0
#define LLHTTP_VERSION_PATCH 5

#ifndef INCLUDE_LLHTTP_ITSELF_H_
#define INCLUDE_LLHTTP_ITSELF_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#ifdef __SSE4_2__
#ifdef _MSC_VER
#include <nmmintrin.h>
#else  
#include <x86intrin.h>
#endif  
#endif  

#ifdef _MSC_VER
#include <stddef.h>
#define ALIGN(n) _declspec(align(n))
#else  
#define ALIGN(n) __attribute__((aligned(n)))
#endif  
#define CALLBACK_MAYBE(PARSER, NAME)                                          \
  do {                                                                        \
    const http_parser_settings* settings;                                        \
    settings = (const http_parser_settings*) (PARSER)->settings;                 \
    if (settings == NULL || settings->NAME == NULL) {                         \
      err = 0;break;                                                          \
    }                                                                         \
    err = settings->NAME((PARSER));                                           \
  } while (0)

#define SPAN_CALLBACK_MAYBE(PARSER, NAME, START, LEN)                         \
  do {                                                                        \
    const http_parser_settings* settings;                                        \
    settings = (const http_parser_settings*) (PARSER)->settings;                 \
    if (settings == NULL || settings->NAME == NULL) {                         \
      err = 0;  break;                                                        \
    }                                                                         \
    err = settings->NAME((PARSER), (START), (LEN));                           \
    if (err == -1) {                                                          \
      err = HPE_USER;                                                         \
      llhttp_set_error_reason((PARSER),"Span callback error in " #NAME);     \
    }                                                                         \
  } while (0)
  struct http_parser {
	int32_t _index;
	const unsigned char* _span_pos0;
	void* _span_cb0;
	int32_t error;
	const char* reason;
	const char* error_pos;
	void* data;
	void* _current;
	uint64_t content_length;
	uint8_t type;
	uint8_t method;
	uint8_t http_major;
	uint8_t http_minor;
	uint8_t header_state;
	uint8_t lenient_flags;
	uint8_t upgrade;
	uint8_t finish;
	uint16_t flags;
	uint16_t status_code;
	void* settings;
  };
  int llhttp__internal_init(http_parser* s);
  int llhttp__internal_execute(http_parser* s,const char* p,const char* endp);
#ifdef __cplusplus
}
#endif
#endif  

#ifndef LLLLHTTP_C_HEADERS_
#define LLLLHTTP_C_HEADERS_
#ifdef __cplusplus
extern "C" {
#endif

  enum llhttp_errno {
	HPE_OK = 0,
	HPE_INTERNAL = 1,
	HPE_STRICT = 2,
	HPE_LF_EXPECTED = 3,
	HPE_UNEXPECTED_CONTENT_LENGTH = 4,
	HPE_CLOSED_CONNECTION = 5,
	HPE_INVALID_METHOD = 6,
	HPE_INVALID_URL = 7,
	HPE_INVALID_CONSTANT = 8,
	HPE_INVALID_VERSION = 9,
	HPE_INVALID_HEADER_TOKEN = 10,
	HPE_INVALID_CONTENT_LENGTH = 11,
	HPE_INVALID_CHUNK_SIZE = 12,
	HPE_INVALID_STATUS = 13,
	HPE_INVALID_EOF_STATE = 14,
	HPE_INVALID_TRANSFER_ENCODING = 15,
	HPE_CB_MESSAGE_BEGIN = 16,
	HPE_CB_HEADERS_COMPLETE = 17,
	HPE_CB_MESSAGE_COMPLETE = 18,
	HPE_CB_CHUNK_HEADER = 19,
	HPE_CB_CHUNK_COMPLETE = 20,
	HPE_PAUSED = 21,
	HPE_PAUSED_UPGRADE = 22,
	HPE_PAUSED_H2_UPGRADE = 23,
	HPE_USER = 24
  };
  typedef enum llhttp_errno llhttp_errno_t;
  enum llhttp_flags {
	F_CONNECTION_KEEP_ALIVE = 0x1,
	F_CONNECTION_CLOSE = 0x2,
	F_CONNECTION_UPGRADE = 0x4,
	F_CHUNKED = 0x8,
	F_UPGRADE = 0x10,
	F_CONTENT_LENGTH = 0x20,
	F_SKIPBODY = 0x40,
	F_TRAILING = 0x80,
	F_TRANSFER_ENCODING = 0x200
  };
  typedef enum llhttp_flags llhttp_flags_t;
  enum llhttp_lenient_flags {
	LENIENT_HEADERS = 0x1,
	LENIENT_CHUNKED_LENGTH = 0x2,
	LENIENT_KEEP_ALIVE = 0x4
  };
  typedef enum llhttp_lenient_flags llhttp_lenient_flags_t;
  enum llhttp_type {
	HTTP_BOTH = 0,
	HTTP_REQUEST = 1,
	HTTP_RESPONSE = 2
  };
  typedef enum llhttp_type llhttp_type_t;
  enum llhttp_finish {
	HTTP_FINISH_SAFE = 0,
	HTTP_FINISH_SAFE_WITH_CB = 1,
	HTTP_FINISH_UNSAFE = 2
  };
  typedef enum llhttp_finish llhttp_finish_t;
  enum llhttp_method {
	HTTP_DELETE = 0,
	HTTP_GET = 1,
	HTTP_HEAD = 2,
	HTTP_POST = 3,
	HTTP_PUT = 4,
	HTTP_CONNECT = 5,
	HTTP_OPTIONS = 6,
	HTTP_TRACE = 7,
	HTTP_COPY = 8,
	HTTP_LOCK = 9,
	HTTP_MKCOL = 10,
	HTTP_MOVE = 11,
	HTTP_PROPFIND = 12,
	HTTP_PROPPATCH = 13,
	HTTP_SEARCH = 14,
	HTTP_UNLOCK = 15,
	HTTP_BIND = 16,
	HTTP_REBIND = 17,
	HTTP_UNBIND = 18,
	HTTP_ACL = 19,
	HTTP_REPORT = 20,
	HTTP_MKACTIVITY = 21,
	HTTP_CHECKOUT = 22,
	HTTP_MERGE = 23,
	HTTP_MSEARCH = 24,
	HTTP_NOTIFY = 25,
	HTTP_SUBSCRIBE = 26,
	HTTP_UNSUBSCRIBE = 27,
	HTTP_PATCH = 28,
	HTTP_PURGE = 29,
	HTTP_MKCALENDAR = 30,
	HTTP_LINK = 31,
	HTTP_UNLINK = 32,
	HTTP_SOURCE = 33,
	HTTP_PRI = 34,
	HTTP_DESCRIBE = 35,
	HTTP_ANNOUNCE = 36,
	HTTP_SETUP = 37,
	HTTP_PLAY = 38,
	HTTP_PAUSE = 39,
	HTTP_TEARDOWN = 40,
	HTTP_GET_PARAMETER = 41,
	HTTP_SET_PARAMETER = 42,
	HTTP_REDIRECT = 43,
	HTTP_RECORD = 44,
	HTTP_FLUSH = 45
  };
  typedef enum llhttp_method llhttp_method_t;
#define HTTP_ERRNO_MAP(XX) \
  XX(0, OK, OK) \
  XX(1, INTERNAL, INTERNAL) \
  XX(2, STRICT, STRICT) \
  XX(3, LF_EXPECTED, LF_EXPECTED) \
  XX(4, UNEXPECTED_CONTENT_LENGTH, UNEXPECTED_CONTENT_LENGTH) \
  XX(5, CLOSED_CONNECTION, CLOSED_CONNECTION) \
  XX(6, INVALID_METHOD, INVALID_METHOD) \
  XX(7, INVALID_URL, INVALID_URL) \
  XX(8, INVALID_CONSTANT, INVALID_CONSTANT) \
  XX(9, INVALID_VERSION, INVALID_VERSION) \
  XX(10, INVALID_HEADER_TOKEN, INVALID_HEADER_TOKEN) \
  XX(11, INVALID_CONTENT_LENGTH, INVALID_CONTENT_LENGTH) \
  XX(12, INVALID_CHUNK_SIZE, INVALID_CHUNK_SIZE) \
  XX(13, INVALID_STATUS, INVALID_STATUS) \
  XX(14, INVALID_EOF_STATE, INVALID_EOF_STATE) \
  XX(15, INVALID_TRANSFER_ENCODING, INVALID_TRANSFER_ENCODING) \
  XX(16, CB_MESSAGE_BEGIN, CB_MESSAGE_BEGIN) \
  XX(17, CB_HEADERS_COMPLETE, CB_HEADERS_COMPLETE) \
  XX(18, CB_MESSAGE_COMPLETE, CB_MESSAGE_COMPLETE) \
  XX(19, CB_CHUNK_HEADER, CB_CHUNK_HEADER) \
  XX(20, CB_CHUNK_COMPLETE, CB_CHUNK_COMPLETE) \
  XX(21, PAUSED, PAUSED) \
  XX(22, PAUSED_UPGRADE, PAUSED_UPGRADE) \
  XX(23, PAUSED_H2_UPGRADE, PAUSED_H2_UPGRADE) \
  XX(24, USER, USER) \


#define HTTP_METHOD_MAP(XX) \
  XX(0, DELETE, DELETE) \
  XX(1, GET, GET) \
  XX(2, HEAD, HEAD) \
  XX(3, POST, POST) \
  XX(4, PUT, PUT) \
  XX(5, CONNECT, CONNECT) \
  XX(6, OPTIONS, OPTIONS) \
  XX(7, TRACE, TRACE) \
  XX(8, COPY, COPY) \
  XX(9, LOCK, LOCK) \
  XX(10, MKCOL, MKCOL) \
  XX(11, MOVE, MOVE) \
  XX(12, PROPFIND, PROPFIND) \
  XX(13, PROPPATCH, PROPPATCH) \
  XX(14, SEARCH, SEARCH) \
  XX(15, UNLOCK, UNLOCK) \
  XX(16, BIND, BIND) \
  XX(17, REBIND, REBIND) \
  XX(18, UNBIND, UNBIND) \
  XX(19, ACL, ACL) \
  XX(20, REPORT, REPORT) \
  XX(21, MKACTIVITY, MKACTIVITY) \
  XX(22, CHECKOUT, CHECKOUT) \
  XX(23, MERGE, MERGE) \
  XX(24, MSEARCH, M-SEARCH) \
  XX(25, NOTIFY, NOTIFY) \
  XX(26, SUBSCRIBE, SUBSCRIBE) \
  XX(27, UNSUBSCRIBE, UNSUBSCRIBE) \
  XX(28, PATCH, PATCH) \
  XX(29, PURGE, PURGE) \
  XX(30, MKCALENDAR, MKCALENDAR) \
  XX(31, LINK, LINK) \
  XX(32, UNLINK, UNLINK) \
  XX(33, SOURCE, SOURCE) \


#define RTSP_METHOD_MAP(XX) \
  XX(1, GET, GET) \
  XX(3, POST, POST) \
  XX(6, OPTIONS, OPTIONS) \
  XX(35, DESCRIBE, DESCRIBE) \
  XX(36, ANNOUNCE, ANNOUNCE) \
  XX(37, SETUP, SETUP) \
  XX(38, PLAY, PLAY) \
  XX(39, PAUSE, PAUSE) \
  XX(40, TEARDOWN, TEARDOWN) \
  XX(41, GET_PARAMETER, GET_PARAMETER) \
  XX(42, SET_PARAMETER, SET_PARAMETER) \
  XX(43, REDIRECT, REDIRECT) \
  XX(44, RECORD, RECORD) \
  XX(45, FLUSH, FLUSH) \


#define HTTP_ALL_METHOD_MAP(XX) \
  XX(0, DELETE, DELETE) \
  XX(1, GET, GET) \
  XX(2, HEAD, HEAD) \
  XX(3, POST, POST) \
  XX(4, PUT, PUT) \
  XX(5, CONNECT, CONNECT) \
  XX(6, OPTIONS, OPTIONS) \
  XX(7, TRACE, TRACE) \
  XX(8, COPY, COPY) \
  XX(9, LOCK, LOCK) \
  XX(10, MKCOL, MKCOL) \
  XX(11, MOVE, MOVE) \
  XX(12, PROPFIND, PROPFIND) \
  XX(13, PROPPATCH, PROPPATCH) \
  XX(14, SEARCH, SEARCH) \
  XX(15, UNLOCK, UNLOCK) \
  XX(16, BIND, BIND) \
  XX(17, REBIND, REBIND) \
  XX(18, UNBIND, UNBIND) \
  XX(19, ACL, ACL) \
  XX(20, REPORT, REPORT) \
  XX(21, MKACTIVITY, MKACTIVITY) \
  XX(22, CHECKOUT, CHECKOUT) \
  XX(23, MERGE, MERGE) \
  XX(24, MSEARCH, M-SEARCH) \
  XX(25, NOTIFY, NOTIFY) \
  XX(26, SUBSCRIBE, SUBSCRIBE) \
  XX(27, UNSUBSCRIBE, UNSUBSCRIBE) \
  XX(28, PATCH, PATCH) \
  XX(29, PURGE, PURGE) \
  XX(30, MKCALENDAR, MKCALENDAR) \
  XX(31, LINK, LINK) \
  XX(32, UNLINK, UNLINK) \
  XX(33, SOURCE, SOURCE) \
  XX(34, PRI, PRI) \
  XX(35, DESCRIBE, DESCRIBE) \
  XX(36, ANNOUNCE, ANNOUNCE) \
  XX(37, SETUP, SETUP) \
  XX(38, PLAY, PLAY) \
  XX(39, PAUSE, PAUSE) \
  XX(40, TEARDOWN, TEARDOWN) \
  XX(41, GET_PARAMETER, GET_PARAMETER) \
  XX(42, SET_PARAMETER, SET_PARAMETER) \
  XX(43, REDIRECT, REDIRECT) \
  XX(44, RECORD, RECORD) \
  XX(45, FLUSH, FLUSH) \


#ifdef __cplusplus
}
#endif
#endif  

#ifndef INCLUDE_LLHTTP_API_H_
#define INCLUDE_LLHTTP_API_H_
#ifdef __cplusplus
extern "C" {
#endif
  typedef int (*llhttp_data_cb)(http_parser*,const char *at,size_t length);
  typedef int (*llhttp_cb)(http_parser*);
  struct http_parser_settings {
	llhttp_cb      on_message_begin;
	llhttp_data_cb on_url;
	llhttp_data_cb on_status;
	llhttp_data_cb on_header_field;
	llhttp_data_cb on_header_value;
	llhttp_cb      on_headers_complete;
	llhttp_data_cb on_body;
	llhttp_cb      on_message_complete;
	llhttp_cb      on_chunk_header;
	llhttp_cb      on_chunk_complete;
	llhttp_cb      on_url_complete;
	llhttp_cb      on_status_complete;
	llhttp_cb      on_header_field_complete;
	llhttp_cb      on_header_value_complete;
  };
  void llhttp_init(http_parser* parser,llhttp_type_t type,
				   const http_parser_settings* settings);
  void llhttp_reset(http_parser* parser);
  void llhttp_settings_init(http_parser_settings* settings);
  int llhttp_execute(http_parser* parser,const char* data,size_t len);
  int llhttp_finish(http_parser* parser);
  int llhttp_message_needs_eof(const http_parser* parser);
  int llhttp_should_keep_alive(const http_parser* parser);
  void llhttp_pause(http_parser* parser);
  void llhttp_resume(http_parser* parser);
  void llhttp_resume_after_upgrade(http_parser* parser);
  int llhttp_get_errno(const http_parser* parser);
  const char* llhttp_get_error_reason(const http_parser* parser);
  void llhttp_set_error_reason(http_parser* parser,const char* reason);
  const char* llhttp_get_error_pos(const http_parser* parser);
  const char* llhttp_errno_name(llhttp_errno_t err);
  const char* llhttp_method_name(llhttp_method_t method);
  void llhttp_set_lenient_headers(http_parser* parser,int enabled);
  void llhttp_set_lenient_chunked_length(http_parser* parser,int enabled);
  void llhttp_set_lenient_keep_alive(http_parser* parser,int enabled);
  typedef int (*llhttp__internal__span_cb)(
	http_parser*,const char*,const  char*);
#ifdef __SSE4_2__
  static const unsigned char ALIGN(16) llparse_blob0[] = {
	0x9, 0x9, 0xc, 0xc, '!', '"', '$', '>', '@', '~', 0x80, 0xff, 0x0, 0x0, 0x0, 0x0
  };
#endif  
  static const unsigned char llparse_blob1[] = {
	'o', 'n'
  };
  static const unsigned char llparse_blob2[] = {
	'e', 'c', 't', 'i', 'o', 'n'
  };
  static const unsigned char llparse_blob3[] = {
	'l', 'o', 's', 'e'
  };
  static const unsigned char llparse_blob4[] = {
	'e', 'e', 'p', '-', 'a', 'l', 'i', 'v', 'e'
  };
  static const unsigned char llparse_blob5[] = {
	'p', 'g', 'r', 'a', 'd', 'e'
  };
  static const unsigned char llparse_blob6[] = {
	'c', 'h', 'u', 'n', 'k', 'e', 'd'
  };
#ifdef __SSE4_2__
  static const unsigned char ALIGN(16) llparse_blob7[] = {
	0x9, 0x9, ' ', '~', 0x80, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
  };
#endif  
#ifdef __SSE4_2__
  static const unsigned char ALIGN(16) llparse_blob8[] = {
	' ', '!', '#', '\'', '*', '+', '-', '.', '0', '9', 'A',
	'Z', '^', 'z', '|', '|'
  };
#endif  
#ifdef __SSE4_2__
  static const unsigned char ALIGN(16) llparse_blob9[] = {
	'~', '~', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
	0x0, 0x0, 0x0, 0x0, 0x0
  };
#endif  
  static const unsigned char llparse_blob10[] = {
	'e', 'n', 't', '-', 'l', 'e', 'n', 'g', 't', 'h'
  };
  static const unsigned char llparse_blob11[] = {
	'r', 'o', 'x', 'y', '-', 'c', 'o', 'n', 'n', 'e', 'c',
	't', 'i', 'o', 'n'
  };
  static const unsigned char llparse_blob12[] = {
	'r', 'a', 'n', 's', 'f', 'e', 'r', '-', 'e', 'n', 'c',
	'o', 'd', 'i', 'n', 'g'
  };
  static const unsigned char llparse_blob13[] = {
	'p', 'g', 'r', 'a', 'd', 'e'
  };
  static const unsigned char llparse_blob14[] = {
	0xd, 0xa
  };
  static const unsigned char llparse_blob15[] = {
	'T', 'T', 'P', '/'
  };
  static const unsigned char llparse_blob16[] = {
	0xd, 0xa, 0xd, 0xa, 'S', 'M', 0xd, 0xa, 0xd, 0xa
  };
  static const unsigned char llparse_blob17[] = {
	'C', 'E', '/'
  };
  static const unsigned char llparse_blob18[] = {
	'T', 'S', 'P', '/'
  };
  static const unsigned char llparse_blob19[] = {
	'N', 'O', 'U', 'N', 'C', 'E'
  };
  static const unsigned char llparse_blob20[] = {
	'I', 'N', 'D'
  };
  static const unsigned char llparse_blob21[] = {
	'E', 'C', 'K', 'O', 'U', 'T'
  };
  static const unsigned char llparse_blob22[] = {
	'N', 'E', 'C', 'T'
  };
  static const unsigned char llparse_blob23[] = {
	'E', 'T', 'E'
  };
  static const unsigned char llparse_blob24[] = {
	'C', 'R', 'I', 'B', 'E'
  };
  static const unsigned char llparse_blob25[] = {
	'L', 'U', 'S', 'H'
  };
  static const unsigned char llparse_blob26[] = {
	'E', 'T'
  };
  static const unsigned char llparse_blob27[] = {
	'P', 'A', 'R', 'A', 'M', 'E', 'T', 'E', 'R'
  };
  static const unsigned char llparse_blob28[] = {
	'E', 'A', 'D'
  };
  static const unsigned char llparse_blob29[] = {
	'N', 'K'
  };
  static const unsigned char llparse_blob30[] = {
	'C', 'K'
  };
  static const unsigned char llparse_blob31[] = {
	'S', 'E', 'A', 'R', 'C', 'H'
  };
  static const unsigned char llparse_blob32[] = {
	'R', 'G', 'E'
  };
  static const unsigned char llparse_blob33[] = {
	'C', 'T', 'I', 'V', 'I', 'T', 'Y'
  };
  static const unsigned char llparse_blob34[] = {
	'L', 'E', 'N', 'D', 'A', 'R'
  };
  static const unsigned char llparse_blob35[] = {
	'V', 'E'
  };
  static const unsigned char llparse_blob36[] = {
	'O', 'T', 'I', 'F', 'Y'
  };
  static const unsigned char llparse_blob37[] = {
	'P', 'T', 'I', 'O', 'N', 'S'
  };
  static const unsigned char llparse_blob38[] = {
	'C', 'H'
  };
  static const unsigned char llparse_blob39[] = {
	'S', 'E'
  };
  static const unsigned char llparse_blob40[] = {
	'A', 'Y'
  };
  static const unsigned char llparse_blob41[] = {
	'S', 'T'
  };
  static const unsigned char llparse_blob42[] = {
	'I', 'N', 'D'
  };
  static const unsigned char llparse_blob43[] = {
	'A', 'T', 'C', 'H'
  };
  static const unsigned char llparse_blob44[] = {
	'G', 'E'
  };
  static const unsigned char llparse_blob45[] = {
	'I', 'N', 'D'
  };
  static const unsigned char llparse_blob46[] = {
	'O', 'R', 'D'
  };
  static const unsigned char llparse_blob47[] = {
	'I', 'R', 'E', 'C', 'T'
  };
  static const unsigned char llparse_blob48[] = {
	'O', 'R', 'T'
  };
  static const unsigned char llparse_blob49[] = {
	'R', 'C', 'H'
  };
  static const unsigned char llparse_blob50[] = {
	'P', 'A', 'R', 'A', 'M', 'E', 'T', 'E', 'R'
  };
  static const unsigned char llparse_blob51[] = {
	'U', 'R', 'C', 'E'
  };
  static const unsigned char llparse_blob52[] = {
	'B', 'S', 'C', 'R', 'I', 'B', 'E'
  };
  static const unsigned char llparse_blob53[] = {
	'A', 'R', 'D', 'O', 'W', 'N'
  };
  static const unsigned char llparse_blob54[] = {
	'A', 'C', 'E'
  };
  static const unsigned char llparse_blob55[] = {
	'I', 'N', 'D'
  };
  static const unsigned char llparse_blob56[] = {
	'N', 'K'
  };
  static const unsigned char llparse_blob57[] = {
	'C', 'K'
  };
  static const unsigned char llparse_blob58[] = {
	'U', 'B', 'S', 'C', 'R', 'I', 'B', 'E'
  };
  static const unsigned char llparse_blob59[] = {
	'H', 'T', 'T', 'P', '/'
  };
  static const unsigned char llparse_blob60[] = {
	'A', 'D'
  };
  static const unsigned char llparse_blob61[] = {
	'T', 'P', '/'
  };
  enum llparse_match_status_e {
	kMatchComplete,
	kMatchPause,
	kMatchMismatch
  };
  typedef enum llparse_match_status_e llparse_match_status_t;
  struct llparse_match_s {
	llparse_match_status_t status;
	const unsigned char* current;
  };
  typedef struct llparse_match_s llparse_match_t;
  static llparse_match_t llparse__match_sequence_to_lower(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp,
	const unsigned char* seq,uint32_t seq_len) {
	uint32_t index;
	llparse_match_t res;
	index = s->_index;
	for (; p!=endp; ++p) {
	  unsigned char current;
	  current = ((*p)>='A'&&(*p)<='Z'?(*p|0x20):(*p));
	  if (current==seq[index]) {
		if (++index==seq_len) {
		  res.status = kMatchComplete;
		  goto reset;
		}
	  } else {
		res.status = kMatchMismatch;
		goto reset;
	  }
	}
	s->_index = index;
	res.status = kMatchPause;
	res.current = p;
	return res;
  reset:
	s->_index = 0;
	res.current = p;
	return res;
  }
  static llparse_match_t llparse__match_sequence_to_lower_unsafe(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp,
	const unsigned char* seq,uint32_t seq_len) {
	uint32_t index;
	llparse_match_t res;
	index = s->_index;
	for (; p!=endp; ++p) {
	  unsigned char current;
	  current = ((*p)|0x20);
	  if (current==seq[index]) {
		if (++index==seq_len) {
		  res.status = kMatchComplete;
		  goto reset;
		}
	  } else {
		res.status = kMatchMismatch;
		goto reset;
	  }
	}
	s->_index = index;
	res.status = kMatchPause;
	res.current = p;
	return res;
  reset:
	s->_index = 0;
	res.current = p;
	return res;
  }
  static llparse_match_t llparse__match_sequence_id(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp,
	const unsigned char* seq,uint32_t seq_len) {
	uint32_t index;
	llparse_match_t res;
	index = s->_index;
	for (; p!=endp; ++p) {
	  unsigned char current;
	  current = *p;
	  if (current==seq[index]) {
		if (++index==seq_len) {
		  res.status = kMatchComplete;
		  goto reset;
		}
	  } else {
		res.status = kMatchMismatch;
		goto reset;
	  }
	}
	s->_index = index;
	res.status = kMatchPause;
	res.current = p;
	return res;
  reset:
	s->_index = 0;
	res.current = p;
	return res;
  }
  enum llparse_state_e {
	s_error,
	s_n_llhttp__internal__n_closed,
	s_n_llhttp__internal__n_invoke_llhttp__after_message_complete,
	s_n_llhttp__internal__n_pause_1,
	s_n_llhttp__internal__n_invoke_is_equal_upgrade,
	s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2,
	s_n_llhttp__internal__n_chunk_data_almost_done_skip,
	s_n_llhttp__internal__n_chunk_data_almost_done,
	s_n_llhttp__internal__n_consume_content_length,
	s_n_llhttp__internal__n_span_start_llhttp__on_body,
	s_n_llhttp__internal__n_invoke_is_equal_content_length,
	s_n_llhttp__internal__n_chunk_size_almost_done,
	s_n_llhttp__internal__n_chunk_parameters,
	s_n_llhttp__internal__n_chunk_size_otherwise,
	s_n_llhttp__internal__n_chunk_size,
	s_n_llhttp__internal__n_chunk_size_digit,
	s_n_llhttp__internal__n_invoke_update_content_length,
	s_n_llhttp__internal__n_consume_content_length_1,
	s_n_llhttp__internal__n_span_start_llhttp__on_body_1,
	s_n_llhttp__internal__n_eof,
	s_n_llhttp__internal__n_span_start_llhttp__on_body_2,
	s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete,
	s_n_llhttp__internal__n_headers_almost_done,
	s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete,
	s_n_llhttp__internal__n_span_start_llhttp__on_header_value,
	s_n_llhttp__internal__n_header_value_discard_lws,
	s_n_llhttp__internal__n_header_value_discard_ws_almost_done,
	s_n_llhttp__internal__n_header_value_lws,
	s_n_llhttp__internal__n_header_value_almost_done,
	s_n_llhttp__internal__n_header_value_lenient,
	s_n_llhttp__internal__n_header_value_otherwise,
	s_n_llhttp__internal__n_header_value_connection_token,
	s_n_llhttp__internal__n_header_value_connection_ws,
	s_n_llhttp__internal__n_header_value_connection_1,
	s_n_llhttp__internal__n_header_value_connection_2,
	s_n_llhttp__internal__n_header_value_connection_3,
	s_n_llhttp__internal__n_header_value_connection,
	s_n_llhttp__internal__n_error_17,
	s_n_llhttp__internal__n_error_18,
	s_n_llhttp__internal__n_header_value_content_length_ws,
	s_n_llhttp__internal__n_header_value_content_length,
	s_n_llhttp__internal__n_header_value_te_chunked_last,
	s_n_llhttp__internal__n_header_value_te_token_ows,
	s_n_llhttp__internal__n_header_value,
	s_n_llhttp__internal__n_header_value_te_token,
	s_n_llhttp__internal__n_header_value_te_chunked,
	s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1,
	s_n_llhttp__internal__n_header_value_discard_ws,
	s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete,
	s_n_llhttp__internal__n_header_field_general_otherwise,
	s_n_llhttp__internal__n_header_field_general,
	s_n_llhttp__internal__n_header_field_colon,
	s_n_llhttp__internal__n_header_field_3,
	s_n_llhttp__internal__n_header_field_4,
	s_n_llhttp__internal__n_header_field_2,
	s_n_llhttp__internal__n_header_field_1,
	s_n_llhttp__internal__n_header_field_5,
	s_n_llhttp__internal__n_header_field_6,
	s_n_llhttp__internal__n_header_field_7,
	s_n_llhttp__internal__n_header_field,
	s_n_llhttp__internal__n_span_start_llhttp__on_header_field,
	s_n_llhttp__internal__n_header_field_start,
	s_n_llhttp__internal__n_url_skip_to_http09,
	s_n_llhttp__internal__n_url_skip_lf_to_http09,
	s_n_llhttp__internal__n_req_pri_upgrade,
	s_n_llhttp__internal__n_req_http_complete_1,
	s_n_llhttp__internal__n_req_http_complete,
	s_n_llhttp__internal__n_req_http_minor,
	s_n_llhttp__internal__n_req_http_dot,
	s_n_llhttp__internal__n_req_http_major,
	s_n_llhttp__internal__n_req_http_start_1,
	s_n_llhttp__internal__n_req_http_start_2,
	s_n_llhttp__internal__n_req_http_start_3,
	s_n_llhttp__internal__n_req_http_start,
	s_n_llhttp__internal__n_url_skip_to_http,
	s_n_llhttp__internal__n_url_fragment,
	s_n_llhttp__internal__n_span_end_stub_query_3,
	s_n_llhttp__internal__n_url_query,
	s_n_llhttp__internal__n_url_query_or_fragment,
	s_n_llhttp__internal__n_url_path,
	s_n_llhttp__internal__n_span_start_stub_path_2,
	s_n_llhttp__internal__n_span_start_stub_path,
	s_n_llhttp__internal__n_span_start_stub_path_1,
	s_n_llhttp__internal__n_url_server_with_at,
	s_n_llhttp__internal__n_url_server,
	s_n_llhttp__internal__n_url_schema_delim_1,
	s_n_llhttp__internal__n_url_schema_delim,
	s_n_llhttp__internal__n_span_end_stub_schema,
	s_n_llhttp__internal__n_url_schema,
	s_n_llhttp__internal__n_url_start,
	s_n_llhttp__internal__n_span_start_llhttp__on_url_1,
	s_n_llhttp__internal__n_span_start_llhttp__on_url,
	s_n_llhttp__internal__n_req_spaces_before_url,
	s_n_llhttp__internal__n_req_first_space_before_url,
	s_n_llhttp__internal__n_start_req_2,
	s_n_llhttp__internal__n_start_req_3,
	s_n_llhttp__internal__n_start_req_1,
	s_n_llhttp__internal__n_start_req_4,
	s_n_llhttp__internal__n_start_req_6,
	s_n_llhttp__internal__n_start_req_8,
	s_n_llhttp__internal__n_start_req_9,
	s_n_llhttp__internal__n_start_req_7,
	s_n_llhttp__internal__n_start_req_5,
	s_n_llhttp__internal__n_start_req_12,
	s_n_llhttp__internal__n_start_req_13,
	s_n_llhttp__internal__n_start_req_11,
	s_n_llhttp__internal__n_start_req_10,
	s_n_llhttp__internal__n_start_req_14,
	s_n_llhttp__internal__n_start_req_17,
	s_n_llhttp__internal__n_start_req_16,
	s_n_llhttp__internal__n_start_req_15,
	s_n_llhttp__internal__n_start_req_18,
	s_n_llhttp__internal__n_start_req_20,
	s_n_llhttp__internal__n_start_req_21,
	s_n_llhttp__internal__n_start_req_19,
	s_n_llhttp__internal__n_start_req_23,
	s_n_llhttp__internal__n_start_req_24,
	s_n_llhttp__internal__n_start_req_26,
	s_n_llhttp__internal__n_start_req_28,
	s_n_llhttp__internal__n_start_req_29,
	s_n_llhttp__internal__n_start_req_27,
	s_n_llhttp__internal__n_start_req_25,
	s_n_llhttp__internal__n_start_req_30,
	s_n_llhttp__internal__n_start_req_22,
	s_n_llhttp__internal__n_start_req_31,
	s_n_llhttp__internal__n_start_req_32,
	s_n_llhttp__internal__n_start_req_35,
	s_n_llhttp__internal__n_start_req_36,
	s_n_llhttp__internal__n_start_req_34,
	s_n_llhttp__internal__n_start_req_37,
	s_n_llhttp__internal__n_start_req_38,
	s_n_llhttp__internal__n_start_req_42,
	s_n_llhttp__internal__n_start_req_43,
	s_n_llhttp__internal__n_start_req_41,
	s_n_llhttp__internal__n_start_req_40,
	s_n_llhttp__internal__n_start_req_39,
	s_n_llhttp__internal__n_start_req_45,
	s_n_llhttp__internal__n_start_req_44,
	s_n_llhttp__internal__n_start_req_33,
	s_n_llhttp__internal__n_start_req_48,
	s_n_llhttp__internal__n_start_req_49,
	s_n_llhttp__internal__n_start_req_50,
	s_n_llhttp__internal__n_start_req_51,
	s_n_llhttp__internal__n_start_req_47,
	s_n_llhttp__internal__n_start_req_46,
	s_n_llhttp__internal__n_start_req_54,
	s_n_llhttp__internal__n_start_req_56,
	s_n_llhttp__internal__n_start_req_57,
	s_n_llhttp__internal__n_start_req_55,
	s_n_llhttp__internal__n_start_req_53,
	s_n_llhttp__internal__n_start_req_58,
	s_n_llhttp__internal__n_start_req_59,
	s_n_llhttp__internal__n_start_req_52,
	s_n_llhttp__internal__n_start_req_61,
	s_n_llhttp__internal__n_start_req_62,
	s_n_llhttp__internal__n_start_req_60,
	s_n_llhttp__internal__n_start_req_65,
	s_n_llhttp__internal__n_start_req_67,
	s_n_llhttp__internal__n_start_req_68,
	s_n_llhttp__internal__n_start_req_66,
	s_n_llhttp__internal__n_start_req_69,
	s_n_llhttp__internal__n_start_req_64,
	s_n_llhttp__internal__n_start_req_63,
	s_n_llhttp__internal__n_start_req,
	s_n_llhttp__internal__n_invoke_llhttp__on_status_complete,
	s_n_llhttp__internal__n_res_line_almost_done,
	s_n_llhttp__internal__n_res_status,
	s_n_llhttp__internal__n_span_start_llhttp__on_status,
	s_n_llhttp__internal__n_res_status_start,
	s_n_llhttp__internal__n_res_status_code_otherwise,
	s_n_llhttp__internal__n_res_status_code,
	s_n_llhttp__internal__n_res_http_end,
	s_n_llhttp__internal__n_res_http_minor,
	s_n_llhttp__internal__n_res_http_dot,
	s_n_llhttp__internal__n_res_http_major,
	s_n_llhttp__internal__n_start_res,
	s_n_llhttp__internal__n_req_or_res_method_2,
	s_n_llhttp__internal__n_req_or_res_method_3,
	s_n_llhttp__internal__n_req_or_res_method_1,
	s_n_llhttp__internal__n_req_or_res_method,
	s_n_llhttp__internal__n_start_req_or_res,
	s_n_llhttp__internal__n_invoke_load_type,
	s_n_llhttp__internal__n_start,
  };
  typedef enum llparse_state_e llparse_state_t;
  int llhttp__on_url(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_header_field(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_header_value(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_body(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_status(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_url_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_chunk_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_message_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__after_message_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__before_headers_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_headers_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__after_headers_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_chunk_header(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_header_field_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_header_value_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_status_complete(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__on_message_begin(
	http_parser* s,const unsigned char* p,
	const unsigned char* endp);
  int llhttp__internal__c_update_finish(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->finish = 2;
	return 0;
  }
  int llhttp__internal__c_load_type(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return state->type; }
  int llhttp__internal__c_store_method(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp,
	int match) {
	state->method = match;
	return 0;
  }
  int llhttp__internal__c_is_equal_method(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return state->method==5; }
  int llhttp__internal__c_update_http_major(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->http_major = 0;
	return 0;
  }
  int llhttp__internal__c_update_http_minor(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->http_minor = 9;
	return 0;
  }
  int llhttp__internal__c_test_flags(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return (state->flags&128)==128; }
  int llhttp__internal__c_is_equal_upgrade(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return state->upgrade==1; }
  int llhttp__internal__c_update_finish_1(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->finish = 0;
	return 0;
  }
  int llhttp__internal__c_test_lenient_flags(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return (state->lenient_flags&4)==4; }
  int llhttp__internal__c_test_flags_1(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return (state->flags&544)==544; }
  int llhttp__internal__c_test_lenient_flags_1(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return (state->lenient_flags&2)==2; }
  int llhttp__internal__c_update_content_length(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->content_length = 0;
	return 0;
  }
  int llhttp__internal__c_mul_add_content_length(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp,
	int match) {
	if (state->content_length>0xffffffffffffffffULL/16) return 1;
	state->content_length *= 16;
	if (match>=0) { if (state->content_length>0xffffffffffffffffULL-match) return 1; } else { if (state->content_length<0ULL-match) return 1; }
	state->content_length += match;
	return 0;
  }
  int llhttp__internal__c_is_equal_content_length(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return state->content_length==0; }
  int llhttp__internal__c_or_flags(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 128;
	return 0;
  }
  int llhttp__internal__c_update_finish_3(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->finish = 1;
	return 0;
  }
  int llhttp__internal__c_or_flags_1(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 64;
	return 0;
  }
  int llhttp__internal__c_update_upgrade(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->upgrade = 1;
	return 0;
  }
  int llhttp__internal__c_store_header_state(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp,
	int match) {
	state->header_state = match;
	return 0;
  }
  int llhttp__internal__c_load_header_state(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return state->header_state; }
  int llhttp__internal__c_or_flags_3(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 1;
	return 0;
  }
  int llhttp__internal__c_update_header_state(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->header_state = 1;
	return 0;
  }
  int llhttp__internal__c_or_flags_4(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 2;
	return 0;
  }
  int llhttp__internal__c_or_flags_5(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 4;
	return 0;
  }
  int llhttp__internal__c_or_flags_6(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 8;
	return 0;
  }
  int llhttp__internal__c_update_header_state_2(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->header_state = 6;
	return 0;
  }
  int llhttp__internal__c_test_lenient_flags_2(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return (state->lenient_flags&1)==1; }
  int llhttp__internal__c_update_header_state_4(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->header_state = 0;
	return 0;
  }
  int llhttp__internal__c_update_header_state_5(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->header_state = 5;
	return 0;
  }
  int llhttp__internal__c_update_header_state_6(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->header_state = 7;
	return 0;
  }
  int llhttp__internal__c_test_flags_2(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return (state->flags&32)==32; }
  int llhttp__internal__c_mul_add_content_length_1(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp,
	int match) {
	if (state->content_length>0xffffffffffffffffULL/10) return 1;
	state->content_length *= 10;
	if (match>=0) { if (state->content_length>0xffffffffffffffffULL-match) return 1; } else { if (state->content_length<0ULL-match) return 1; }
	state->content_length += match;
	return 0;
  }
  int llhttp__internal__c_or_flags_15(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 32;
	return 0;
  }
  int llhttp__internal__c_or_flags_16(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 512;
	return 0;
  }
  int llhttp__internal__c_and_flags(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags &= -9;
	return 0;
  }
  int llhttp__internal__c_update_header_state_7(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->header_state = 8;
	return 0;
  }
  int llhttp__internal__c_or_flags_17(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->flags |= 16;
	return 0;
  }
  int llhttp__internal__c_load_method(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) { return state->method; }
  int llhttp__internal__c_store_http_major(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp,
	int match) {
	state->http_major = match;
	return 0;
  }
  int llhttp__internal__c_store_http_minor(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp,
	int match) {
	state->http_minor = match;
	return 0;
  }
  int llhttp__internal__c_update_status_code(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->status_code = 0;
	return 0;
  }
  int llhttp__internal__c_mul_add_status_code(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp,
	int match) {
	if (state->status_code>0xffff/10) return 1;
	state->status_code *= 10;
	if (match>=0) { if (state->status_code>0xffff-match) return 1; } else { if (state->status_code<0-match) return 1; }
	state->status_code += match;
	if (state->status_code>999) return 1;
	return 0;
  }
  int llhttp__internal__c_update_type(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->type = 1;
	return 0;
  }
  int llhttp__internal__c_update_type_1(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	state->type = 2;
	return 0;
  }
  int llhttp__internal_init(http_parser* state) {
	memset(state,0,sizeof(*state));
	state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_start;
	return 0;
  }
  static llparse_state_t llhttp__internal__run(
	http_parser* state,
	const unsigned char* p,
	const unsigned char* endp) {
	int match;
	switch ((llparse_state_t)(intptr_t)state->_current) {
	  case s_n_llhttp__internal__n_closed:
	s_n_llhttp__internal__n_closed: {
	  if (p==endp) return s_n_llhttp__internal__n_closed;
	  ++p;goto s_n_llhttp__internal__n_closed;
	  }
	  case s_n_llhttp__internal__n_invoke_llhttp__after_message_complete:
	s_n_llhttp__internal__n_invoke_llhttp__after_message_complete: {
	  switch (llhttp__after_message_complete(state,p,endp)) {
		case 1:goto s_n_llhttp__internal__n_invoke_update_finish_2;
		default:goto s_n_llhttp__internal__n_invoke_update_finish_1;
	  }
	  }
	  case s_n_llhttp__internal__n_pause_1:
	s_n_llhttp__internal__n_pause_1: {
	  state->error = 0x16;
	  state->reason = "Pause on CONNECT/Upgrade";
	  state->error_pos = (const char*)p;
	  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
	  return s_error;
	  }
	  case s_n_llhttp__internal__n_invoke_is_equal_upgrade:
	s_n_llhttp__internal__n_invoke_is_equal_upgrade: {
	  switch (llhttp__internal__c_is_equal_upgrade(state,p,endp)) {
		case 0:goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
		default:goto s_n_llhttp__internal__n_pause_1;
	  }
	  }
	  case s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2:
	s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2: {
	  switch (llhttp__on_message_complete(state,p,endp)) {
		case 0:goto s_n_llhttp__internal__n_invoke_is_equal_upgrade;
		case 21:goto s_n_llhttp__internal__n_pause_5;
		default:goto s_n_llhttp__internal__n_error_9;
	  }
	  }
	  case s_n_llhttp__internal__n_chunk_data_almost_done_skip:
	s_n_llhttp__internal__n_chunk_data_almost_done_skip: {
	  if (p==endp) return s_n_llhttp__internal__n_chunk_data_almost_done_skip;
	  ++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete;
	  }
	  case s_n_llhttp__internal__n_chunk_data_almost_done:
	s_n_llhttp__internal__n_chunk_data_almost_done: {
	  if (p==endp) return s_n_llhttp__internal__n_chunk_data_almost_done;
	  ++p;goto s_n_llhttp__internal__n_chunk_data_almost_done_skip;
	  }
	  case s_n_llhttp__internal__n_consume_content_length:
	s_n_llhttp__internal__n_consume_content_length: {
	  size_t avail;
	  uint64_t need;
	  avail = endp-p;
	  need = state->content_length;
	  if (avail>=need) {
		p += need;
		state->content_length = 0;
		goto s_n_llhttp__internal__n_span_end_llhttp__on_body;
	  }
	  state->content_length -= avail;
	  return s_n_llhttp__internal__n_consume_content_length;
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_body:
	s_n_llhttp__internal__n_span_start_llhttp__on_body: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_body;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_body;
	  goto s_n_llhttp__internal__n_consume_content_length;
	  }
	  case s_n_llhttp__internal__n_invoke_is_equal_content_length:
	s_n_llhttp__internal__n_invoke_is_equal_content_length: {
	  switch (llhttp__internal__c_is_equal_content_length(state,p,endp)) {
		case 0:goto s_n_llhttp__internal__n_span_start_llhttp__on_body;
		default:goto s_n_llhttp__internal__n_invoke_or_flags;
	  }
	  }
	  case s_n_llhttp__internal__n_chunk_size_almost_done:
	s_n_llhttp__internal__n_chunk_size_almost_done: {
	  if (p==endp) return s_n_llhttp__internal__n_chunk_size_almost_done;
	  ++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header;
	  }
	  case s_n_llhttp__internal__n_chunk_parameters:
	s_n_llhttp__internal__n_chunk_parameters: {
	  if (p==endp) return s_n_llhttp__internal__n_chunk_parameters;
	  switch (*p) {
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_chunk_size_almost_done;
		}
		default: {
		  ++p;goto s_n_llhttp__internal__n_chunk_parameters;
		}
	  }
	  }
	  case s_n_llhttp__internal__n_chunk_size_otherwise:
	s_n_llhttp__internal__n_chunk_size_otherwise: {
	  if (p==endp) return s_n_llhttp__internal__n_chunk_size_otherwise;
	  switch (*p) {
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_chunk_size_almost_done;
		}
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_chunk_parameters;
		}
		case ';': {
		  ++p;goto s_n_llhttp__internal__n_chunk_parameters;
		}
		default: goto s_n_llhttp__internal__n_error_6;
	  }
	  }
	  case s_n_llhttp__internal__n_chunk_size:
	s_n_llhttp__internal__n_chunk_size: {
	  if (p==endp) return s_n_llhttp__internal__n_chunk_size;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'A': {
		  ++p;match = 10;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'B': {
		  ++p;match = 11;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'C': {
		  ++p;match = 12;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'D': {
		  ++p;match = 13;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'E': {
		  ++p;match = 14;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'F': {
		  ++p;match = 15;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'a': {
		  ++p;match = 10;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'b': {
		  ++p;match = 11;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'c': {
		  ++p;match = 12;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'd': {
		  ++p;match = 13;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'e': {
		  ++p;match = 14;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'f': {
		  ++p;match = 15;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		default: goto s_n_llhttp__internal__n_chunk_size_otherwise;
	  }
	  }
	  case s_n_llhttp__internal__n_chunk_size_digit:
	s_n_llhttp__internal__n_chunk_size_digit: {
	  if (p==endp) return s_n_llhttp__internal__n_chunk_size_digit;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'A': {
		  ++p;match = 10;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'B': {
		  ++p;match = 11;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'C': {
		  ++p;match = 12;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'D': {
		  ++p;match = 13;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'E': {
		  ++p;match = 14;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'F': {
		  ++p;match = 15;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'a': {
		  ++p;match = 10;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'b': {
		  ++p;match = 11;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'c': {
		  ++p;match = 12;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'd': {
		  ++p;match = 13;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'e': {
		  ++p;match = 14;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		case 'f': {
		  ++p;match = 15;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
		}
		default: goto s_n_llhttp__internal__n_error_8;
	  }
	  }
	  case s_n_llhttp__internal__n_invoke_update_content_length:
	s_n_llhttp__internal__n_invoke_update_content_length: {
		llhttp__internal__c_update_content_length(state,p,endp);
		goto s_n_llhttp__internal__n_chunk_size_digit;
	  }
	  case s_n_llhttp__internal__n_consume_content_length_1:
	s_n_llhttp__internal__n_consume_content_length_1: {
	  size_t avail;
	  uint64_t need;
	  avail = endp-p;
	  need = state->content_length;
	  if (avail>=need) {
		p += need;
		state->content_length = 0;
		goto s_n_llhttp__internal__n_span_end_llhttp__on_body_1;
	  }
	  state->content_length -= avail;
	  return s_n_llhttp__internal__n_consume_content_length_1;
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_body_1:
	s_n_llhttp__internal__n_span_start_llhttp__on_body_1: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_body;
	  goto s_n_llhttp__internal__n_consume_content_length_1;
	  }
	  case s_n_llhttp__internal__n_eof:
	s_n_llhttp__internal__n_eof: {
	  if (p==endp) return s_n_llhttp__internal__n_eof;
	  ++p;goto s_n_llhttp__internal__n_eof;
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_body_2:
	s_n_llhttp__internal__n_span_start_llhttp__on_body_2: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_body;
	  goto s_n_llhttp__internal__n_eof;
	  }
	  case s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete:
	s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: {
	  switch (llhttp__after_headers_complete(state,p,endp)) {
		case 1:goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1;
		case 2:goto s_n_llhttp__internal__n_invoke_update_content_length;
		case 3:goto s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
		case 4:goto s_n_llhttp__internal__n_invoke_update_finish_3;
		case 5:goto s_n_llhttp__internal__n_error_10;
		default:goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete;
	  }
	  }
	  case s_n_llhttp__internal__n_headers_almost_done:
	s_n_llhttp__internal__n_headers_almost_done: {
	  if (p==endp) return s_n_llhttp__internal__n_headers_almost_done;
	  ++p;goto s_n_llhttp__internal__n_invoke_test_flags;
	  }
	  case s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete:
	s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete: {
		llhttp__on_header_value_complete(state,p,endp);
		goto s_n_llhttp__internal__n_header_field_start;
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_header_value:
	s_n_llhttp__internal__n_span_start_llhttp__on_header_value: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_header_value;
	  goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value;
	  }
	  case s_n_llhttp__internal__n_header_value_discard_lws:
	s_n_llhttp__internal__n_header_value_discard_lws: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_discard_lws;
	  switch (*p) {
		case 9: {
		  ++p;goto s_n_llhttp__internal__n_header_value_discard_ws;
		}
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_value_discard_ws;
		}
		default: goto s_n_llhttp__internal__n_invoke_load_header_state;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_discard_ws_almost_done:
	s_n_llhttp__internal__n_header_value_discard_ws_almost_done: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
	  ++p;goto s_n_llhttp__internal__n_header_value_discard_lws;
	  }
	  case s_n_llhttp__internal__n_header_value_lws:
	s_n_llhttp__internal__n_header_value_lws: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_lws;
	  switch (*p) {
		case 9: goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
		case ' ': goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
		default: goto s_n_llhttp__internal__n_invoke_load_header_state_3;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_almost_done:
	s_n_llhttp__internal__n_header_value_almost_done: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_almost_done;
	  switch (*p) {
		case 10: {
		  ++p;goto s_n_llhttp__internal__n_header_value_lws;
		}
		default: goto s_n_llhttp__internal__n_error_14;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_lenient:
	s_n_llhttp__internal__n_header_value_lenient: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_lenient;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
		case 13: goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3;
		default: {
		  ++p;goto s_n_llhttp__internal__n_header_value_lenient;
		}
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_otherwise:
	s_n_llhttp__internal__n_header_value_otherwise: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_otherwise;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
		case 13: goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2;
		default: goto s_n_llhttp__internal__n_invoke_test_lenient_flags_2;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_connection_token:
	s_n_llhttp__internal__n_header_value_connection_token: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	  };
	  if (p==endp) return s_n_llhttp__internal__n_header_value_connection_token;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection_token;
		}
		case 2: {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection;
		}
		default: goto s_n_llhttp__internal__n_header_value_otherwise;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_connection_ws:
	s_n_llhttp__internal__n_header_value_connection_ws: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_connection_ws;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_header_value_otherwise;
		case 13: goto s_n_llhttp__internal__n_header_value_otherwise;
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection_ws;
		}
		case ',': {
		  ++p;goto s_n_llhttp__internal__n_invoke_load_header_state_4;
		}
		default: goto s_n_llhttp__internal__n_invoke_update_header_state_4;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_connection_1:
	s_n_llhttp__internal__n_header_value_connection_1: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_value_connection_1;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob3,4);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_update_header_state_2;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_value_connection_1;
		case kMatchMismatch: goto s_n_llhttp__internal__n_header_value_connection_token;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_connection_2:
	s_n_llhttp__internal__n_header_value_connection_2: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_value_connection_2;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob4,9);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_update_header_state_5;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_value_connection_2;
		case kMatchMismatch: goto s_n_llhttp__internal__n_header_value_connection_token;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_connection_3:
	s_n_llhttp__internal__n_header_value_connection_3: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_value_connection_3;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob5,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_update_header_state_6;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_value_connection_3;
		case kMatchMismatch: goto s_n_llhttp__internal__n_header_value_connection_token;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_connection:
	s_n_llhttp__internal__n_header_value_connection: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_connection;
	  switch (((*p)>='A'&&(*p)<='Z'?(*p|0x20):(*p))) {
		case 9: {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection;
		}
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection;
		}
		case 'c': {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection_1;
		}
		case 'k': {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection_2;
		}
		case 'u': {
		  ++p;goto s_n_llhttp__internal__n_header_value_connection_3;
		}
		default: goto s_n_llhttp__internal__n_header_value_connection_token;
	  }
	  }
	  case s_n_llhttp__internal__n_error_17:
	s_n_llhttp__internal__n_error_17: {
	  state->error = 0xb;
	  state->reason = "Content-Length overflow";
	  state->error_pos = (const char*)p;
	  state->_current = (void*)(intptr_t)s_error;
	  return s_error;
	  }
	  case s_n_llhttp__internal__n_error_18:
	s_n_llhttp__internal__n_error_18: {
	  state->error = 0xb;
	  state->reason = "Invalid character in Content-Length";
	  state->error_pos = (const char*)p;
	  state->_current = (void*)(intptr_t)s_error;
	  return s_error;
	  }
	  case s_n_llhttp__internal__n_header_value_content_length_ws:
	s_n_llhttp__internal__n_header_value_content_length_ws: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_content_length_ws;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_invoke_or_flags_15;
		case 13: goto s_n_llhttp__internal__n_invoke_or_flags_15;
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_value_content_length_ws;
		}
		default: goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_content_length:
	s_n_llhttp__internal__n_header_value_content_length: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_content_length;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
		}
		default: goto s_n_llhttp__internal__n_header_value_content_length_ws;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_te_chunked_last:
	s_n_llhttp__internal__n_header_value_te_chunked_last: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_te_chunked_last;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_invoke_update_header_state_7;
		case 13: goto s_n_llhttp__internal__n_invoke_update_header_state_7;
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_value_te_chunked_last;
		}
		default: goto s_n_llhttp__internal__n_header_value_te_chunked;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_te_token_ows:
	s_n_llhttp__internal__n_header_value_te_token_ows: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_te_token_ows;
	  switch (*p) {
		case 9: {
		  ++p;goto s_n_llhttp__internal__n_header_value_te_token_ows;
		}
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_value_te_token_ows;
		}
		default: goto s_n_llhttp__internal__n_header_value_te_chunked;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value:
	s_n_llhttp__internal__n_header_value: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	  };
	  if (p==endp) return s_n_llhttp__internal__n_header_value;
#ifdef __SSE4_2__
	  if (endp-p>=16) {
		__m128i ranges;
		__m128i input;
		int avail;
		int match_len;
		input = _mm_loadu_si128((__m128i const*) p);
		ranges = _mm_loadu_si128((__m128i const*) llparse_blob7);
		match_len = _mm_cmpestri(ranges,6,
								 input,16,
								 _SIDD_UBYTE_OPS|_SIDD_CMP_RANGES|
								 _SIDD_NEGATIVE_POLARITY);
		if (match_len!=0) {
		  p += match_len;
		  goto s_n_llhttp__internal__n_header_value;
		}
		goto s_n_llhttp__internal__n_header_value_otherwise;
	  }
#endif  
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_header_value;
		}
		default: goto s_n_llhttp__internal__n_header_value_otherwise;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_te_token:
	s_n_llhttp__internal__n_header_value_te_token: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	  };
	  if (p==endp) return s_n_llhttp__internal__n_header_value_te_token;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_header_value_te_token;
		}
		case 2: {
		  ++p;goto s_n_llhttp__internal__n_header_value_te_token_ows;
		}
		default: goto s_n_llhttp__internal__n_invoke_update_header_state_8;
	  }
	  }
	  case s_n_llhttp__internal__n_header_value_te_chunked:
	s_n_llhttp__internal__n_header_value_te_chunked: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_value_te_chunked;
	  match_seq = llparse__match_sequence_to_lower_unsafe(state,p,endp,llparse_blob6,7);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_header_value_te_chunked_last;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_value_te_chunked;
		case kMatchMismatch: goto s_n_llhttp__internal__n_header_value_te_token;
	  }
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1:
	s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_header_value;
	  goto s_n_llhttp__internal__n_invoke_load_header_state_2;
	  }
	  case s_n_llhttp__internal__n_header_value_discard_ws:
	s_n_llhttp__internal__n_header_value_discard_ws: {
	  if (p==endp) return s_n_llhttp__internal__n_header_value_discard_ws;
	  switch (*p) {
		case 9: {
		  ++p;goto s_n_llhttp__internal__n_header_value_discard_ws;
		}
		case 10: {
		  ++p;goto s_n_llhttp__internal__n_header_value_discard_lws;
		}
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
		}
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_value_discard_ws;
		}
		default: goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
	  }
	  }
	  case s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete:
	s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete: {
		llhttp__on_header_field_complete(state,p,endp);
		goto s_n_llhttp__internal__n_header_value_discard_ws;
	  }
	  case s_n_llhttp__internal__n_header_field_general_otherwise:
	s_n_llhttp__internal__n_header_field_general_otherwise: {
	  if (p==endp) return s_n_llhttp__internal__n_header_field_general_otherwise;
	  switch (*p) {
		case ':': goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1;
		default: goto s_n_llhttp__internal__n_error_19;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_general:
	s_n_llhttp__internal__n_header_field_general: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
		0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
	  };
	  if (p==endp) return s_n_llhttp__internal__n_header_field_general;
#ifdef __SSE4_2__
	  if (endp-p>=16) {
		__m128i ranges;
		__m128i input;
		int avail;
		int match_len;
		input = _mm_loadu_si128((__m128i const*) p);
		ranges = _mm_loadu_si128((__m128i const*) llparse_blob8);
		match_len = _mm_cmpestri(ranges,16,
								 input,16,
								 _SIDD_UBYTE_OPS|_SIDD_CMP_RANGES|
								 _SIDD_NEGATIVE_POLARITY);
		if (match_len!=0) {
		  p += match_len;
		  goto s_n_llhttp__internal__n_header_field_general;
		}
		ranges = _mm_loadu_si128((__m128i const*) llparse_blob9);
		match_len = _mm_cmpestri(ranges,2,
								 input,16,
								 _SIDD_UBYTE_OPS|_SIDD_CMP_RANGES|
								 _SIDD_NEGATIVE_POLARITY);
		if (match_len!=0) {
		  p += match_len;
		  goto s_n_llhttp__internal__n_header_field_general;
		}
		goto s_n_llhttp__internal__n_header_field_general_otherwise;
	  }
#endif  
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_header_field_general;
		}
		default: goto s_n_llhttp__internal__n_header_field_general_otherwise;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_colon:
	s_n_llhttp__internal__n_header_field_colon: {
	  if (p==endp) return s_n_llhttp__internal__n_header_field_colon;
	  switch (*p) {
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_header_field_colon;
		}
		case ':': goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field;
		default: goto s_n_llhttp__internal__n_invoke_update_header_state_9;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_3:
	s_n_llhttp__internal__n_header_field_3: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_field_3;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob2,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_store_header_state;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_field_3;
		case kMatchMismatch: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_4:
	s_n_llhttp__internal__n_header_field_4: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_field_4;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob10,10);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_store_header_state;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_field_4;
		case kMatchMismatch: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_2:
	s_n_llhttp__internal__n_header_field_2: {
	  if (p==endp) return s_n_llhttp__internal__n_header_field_2;
	  switch (((*p)>='A'&&(*p)<='Z'?(*p|0x20):(*p))) {
		case 'n': {
		  ++p;goto s_n_llhttp__internal__n_header_field_3;
		}
		case 't': {
		  ++p;goto s_n_llhttp__internal__n_header_field_4;
		}
		default: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_1:
	s_n_llhttp__internal__n_header_field_1: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_field_1;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob1,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_header_field_2;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_field_1;
		case kMatchMismatch: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_5:
	s_n_llhttp__internal__n_header_field_5: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_field_5;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob11,15);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_store_header_state;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_field_5;
		case kMatchMismatch: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_6:
	s_n_llhttp__internal__n_header_field_6: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_field_6;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob12,16);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_store_header_state;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_field_6;
		case kMatchMismatch: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field_7:
	s_n_llhttp__internal__n_header_field_7: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_header_field_7;
	  match_seq = llparse__match_sequence_to_lower(state,p,endp,llparse_blob13,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_store_header_state;
		}
		case kMatchPause: return s_n_llhttp__internal__n_header_field_7;
		case kMatchMismatch: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_header_field:
	s_n_llhttp__internal__n_header_field: {
	  if (p==endp) return s_n_llhttp__internal__n_header_field;
	  switch (((*p)>='A'&&(*p)<='Z'?(*p|0x20):(*p))) {
		case 'c': {
		  ++p;goto s_n_llhttp__internal__n_header_field_1;
		}
		case 'p': {
		  ++p;goto s_n_llhttp__internal__n_header_field_5;
		}
		case 't': {
		  ++p;goto s_n_llhttp__internal__n_header_field_6;
		}
		case 'u': {
		  ++p;goto s_n_llhttp__internal__n_header_field_7;
		}
		default: goto s_n_llhttp__internal__n_invoke_update_header_state_10;
	  }
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_header_field:
	s_n_llhttp__internal__n_span_start_llhttp__on_header_field: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_header_field;
	  goto s_n_llhttp__internal__n_header_field;
	  }
	  case s_n_llhttp__internal__n_header_field_start:
	s_n_llhttp__internal__n_header_field_start: {
	  if (p==endp) return s_n_llhttp__internal__n_header_field_start;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_headers_almost_done;
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_headers_almost_done;
		}
		default: goto s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
	  }
	  }
	  case s_n_llhttp__internal__n_url_skip_to_http09:
	s_n_llhttp__internal__n_url_skip_to_http09: {
	  if (p==endp) return s_n_llhttp__internal__n_url_skip_to_http09;
	  ++p;goto s_n_llhttp__internal__n_invoke_update_http_major;
	  }
	  case s_n_llhttp__internal__n_url_skip_lf_to_http09:
	s_n_llhttp__internal__n_url_skip_lf_to_http09: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_url_skip_lf_to_http09;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob14,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_update_http_major;
		}
		case kMatchPause: return s_n_llhttp__internal__n_url_skip_lf_to_http09;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_20;
	  }
	  }
	  case s_n_llhttp__internal__n_req_pri_upgrade:
	s_n_llhttp__internal__n_req_pri_upgrade: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_req_pri_upgrade;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob16,10);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_error_23;
		}
		case kMatchPause: return s_n_llhttp__internal__n_req_pri_upgrade;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_24;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_complete_1:
	s_n_llhttp__internal__n_req_http_complete_1: {
	  if (p==endp) return s_n_llhttp__internal__n_req_http_complete_1;
	  switch (*p) {
		case 10: {
		  ++p;goto s_n_llhttp__internal__n_header_field_start;
		}
		default: goto s_n_llhttp__internal__n_error_22;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_complete:
	s_n_llhttp__internal__n_req_http_complete: {
	  if (p==endp) return s_n_llhttp__internal__n_req_http_complete;
	  switch (*p) {
		case 10: {
		  ++p;goto s_n_llhttp__internal__n_header_field_start;
		}
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_req_http_complete_1;
		}
		default: goto s_n_llhttp__internal__n_error_22;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_minor:
	s_n_llhttp__internal__n_req_http_minor: {
	  if (p==endp) return s_n_llhttp__internal__n_req_http_minor;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor;
		}
		default: goto s_n_llhttp__internal__n_error_25;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_dot:
	s_n_llhttp__internal__n_req_http_dot: {
	  if (p==endp) return s_n_llhttp__internal__n_req_http_dot;
	  switch (*p) {
		case '.': {
		  ++p;goto s_n_llhttp__internal__n_req_http_minor;
		}
		default: goto s_n_llhttp__internal__n_error_26;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_major:
	s_n_llhttp__internal__n_req_http_major: {
	  if (p==endp) return s_n_llhttp__internal__n_req_http_major;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_store_http_major;
		}
		default: goto s_n_llhttp__internal__n_error_27;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_start_1:
	s_n_llhttp__internal__n_req_http_start_1: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_req_http_start_1;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob15,4);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_load_method;
		}
		case kMatchPause: return s_n_llhttp__internal__n_req_http_start_1;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_30;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_start_2:
	s_n_llhttp__internal__n_req_http_start_2: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_req_http_start_2;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob17,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_load_method_2;
		}
		case kMatchPause: return s_n_llhttp__internal__n_req_http_start_2;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_30;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_start_3:
	s_n_llhttp__internal__n_req_http_start_3: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_req_http_start_3;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob18,4);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_load_method_3;
		}
		case kMatchPause: return s_n_llhttp__internal__n_req_http_start_3;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_30;
	  }
	  }
	  case s_n_llhttp__internal__n_req_http_start:
	s_n_llhttp__internal__n_req_http_start: {
	  if (p==endp) return s_n_llhttp__internal__n_req_http_start;
	  switch (*p) {
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_req_http_start;
		}
		case 'H': {
		  ++p;goto s_n_llhttp__internal__n_req_http_start_1;
		}
		case 'I': {
		  ++p;goto s_n_llhttp__internal__n_req_http_start_2;
		}
		case 'R': {
		  ++p;goto s_n_llhttp__internal__n_req_http_start_3;
		}
		default: goto s_n_llhttp__internal__n_error_30;
	  }
	  }
	  case s_n_llhttp__internal__n_url_skip_to_http:
	s_n_llhttp__internal__n_url_skip_to_http: {
	  if (p==endp) return s_n_llhttp__internal__n_url_skip_to_http;
	  ++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1;
	  }
	  case s_n_llhttp__internal__n_url_fragment:
	s_n_llhttp__internal__n_url_fragment: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	  };
	  if (p==endp) return s_n_llhttp__internal__n_url_fragment;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_url_fragment;
		}
		case 2: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_6;
		case 3: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_7;
		case 4: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_8;
		default: goto s_n_llhttp__internal__n_error_31;
	  }
	  }
	  case s_n_llhttp__internal__n_span_end_stub_query_3:
	s_n_llhttp__internal__n_span_end_stub_query_3: {
	  if (p==endp) return s_n_llhttp__internal__n_span_end_stub_query_3;
	  ++p;goto s_n_llhttp__internal__n_url_fragment;
	  }
	  case s_n_llhttp__internal__n_url_query:
	s_n_llhttp__internal__n_url_query: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		4, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	  };
	  if (p==endp) return s_n_llhttp__internal__n_url_query;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_url_query;
		}
		case 2: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_9;
		case 3: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_10;
		case 4: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_11;
		case 5: goto s_n_llhttp__internal__n_span_end_stub_query_3;
		default: goto s_n_llhttp__internal__n_error_32;
	  }
	  }
	  case s_n_llhttp__internal__n_url_query_or_fragment:
	s_n_llhttp__internal__n_url_query_or_fragment: {
	  if (p==endp) return s_n_llhttp__internal__n_url_query_or_fragment;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_3;
		case 13: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_4;
		case ' ': goto s_n_llhttp__internal__n_span_end_llhttp__on_url_5;
		case '#': {
		  ++p;goto s_n_llhttp__internal__n_url_fragment;
		}
		case '?': {
		  ++p;goto s_n_llhttp__internal__n_url_query;
		}
		default: goto s_n_llhttp__internal__n_error_33;
	  }
	  }
	  case s_n_llhttp__internal__n_url_path:
	s_n_llhttp__internal__n_url_path: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
		1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	  };
	  if (p==endp) return s_n_llhttp__internal__n_url_path;
#ifdef __SSE4_2__
	  if (endp-p>=16) {
		__m128i ranges;
		__m128i input;
		int avail;
		int match_len;
		input = _mm_loadu_si128((__m128i const*) p);
		ranges = _mm_loadu_si128((__m128i const*) llparse_blob0);
		match_len = _mm_cmpestri(ranges,12,
								 input,16,
								 _SIDD_UBYTE_OPS|_SIDD_CMP_RANGES|
								 _SIDD_NEGATIVE_POLARITY);
		if (match_len!=0) {
		  p += match_len;
		  goto s_n_llhttp__internal__n_url_path;
		}
		goto s_n_llhttp__internal__n_url_query_or_fragment;
	  }
#endif  
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_url_path;
		}
		default: goto s_n_llhttp__internal__n_url_query_or_fragment;
	  }
	  }
	  case s_n_llhttp__internal__n_span_start_stub_path_2:
	s_n_llhttp__internal__n_span_start_stub_path_2: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_stub_path_2;
	  ++p;goto s_n_llhttp__internal__n_url_path;
	  }
	  case s_n_llhttp__internal__n_span_start_stub_path:
	s_n_llhttp__internal__n_span_start_stub_path: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_stub_path;
	  ++p;goto s_n_llhttp__internal__n_url_path;
	  }
	  case s_n_llhttp__internal__n_span_start_stub_path_1:
	s_n_llhttp__internal__n_span_start_stub_path_1: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_stub_path_1;
	  ++p;goto s_n_llhttp__internal__n_url_path;
	  }
	  case s_n_llhttp__internal__n_url_server_with_at:
	s_n_llhttp__internal__n_url_server_with_at: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
		4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
		7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
		4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
		0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
		4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
	  };
	  if (p==endp) return s_n_llhttp__internal__n_url_server_with_at;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_12;
		case 2: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_13;
		case 3: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_14;
		case 4: {
		  ++p;goto s_n_llhttp__internal__n_url_server;
		}
		case 5: goto s_n_llhttp__internal__n_span_start_stub_path_1;
		case 6: {
		  ++p;goto s_n_llhttp__internal__n_url_query;
		}
		case 7: {
		  ++p;goto s_n_llhttp__internal__n_error_34;
		}
		default: goto s_n_llhttp__internal__n_error_35;
	  }
	  }
	  case s_n_llhttp__internal__n_url_server:
	s_n_llhttp__internal__n_url_server: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
		4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
		7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
		4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
		0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
		4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
	  };
	  if (p==endp) return s_n_llhttp__internal__n_url_server;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: goto s_n_llhttp__internal__n_span_end_llhttp__on_url;
		case 2: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_1;
		case 3: goto s_n_llhttp__internal__n_span_end_llhttp__on_url_2;
		case 4: {
		  ++p;goto s_n_llhttp__internal__n_url_server;
		}
		case 5: goto s_n_llhttp__internal__n_span_start_stub_path;
		case 6: {
		  ++p;goto s_n_llhttp__internal__n_url_query;
		}
		case 7: {
		  ++p;goto s_n_llhttp__internal__n_url_server_with_at;
		}
		default: goto s_n_llhttp__internal__n_error_36;
	  }
	  }
	  case s_n_llhttp__internal__n_url_schema_delim_1:
	s_n_llhttp__internal__n_url_schema_delim_1: {
	  if (p==endp) return s_n_llhttp__internal__n_url_schema_delim_1;
	  switch (*p) {
		case '/': {
		  ++p;goto s_n_llhttp__internal__n_url_server;
		}
		default: goto s_n_llhttp__internal__n_error_38;
	  }
	  }
	  case s_n_llhttp__internal__n_url_schema_delim:
	s_n_llhttp__internal__n_url_schema_delim: {
	  if (p==endp) return s_n_llhttp__internal__n_url_schema_delim;
	  switch (*p) {
		case 10: {
		  ++p;goto s_n_llhttp__internal__n_error_37;
		}
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_error_37;
		}
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_error_37;
		}
		case '/': {
		  ++p;goto s_n_llhttp__internal__n_url_schema_delim_1;
		}
		default: goto s_n_llhttp__internal__n_error_38;
	  }
	  }
	  case s_n_llhttp__internal__n_span_end_stub_schema:
	s_n_llhttp__internal__n_span_end_stub_schema: {
	  if (p==endp) return s_n_llhttp__internal__n_span_end_stub_schema;
	  ++p;goto s_n_llhttp__internal__n_url_schema_delim;
	  }
	  case s_n_llhttp__internal__n_url_schema:
	s_n_llhttp__internal__n_url_schema: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
		0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
		3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
		0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
		3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
	  };
	  if (p==endp) return s_n_llhttp__internal__n_url_schema;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_error_37;
		}
		case 2: goto s_n_llhttp__internal__n_span_end_stub_schema;
		case 3: {
		  ++p;goto s_n_llhttp__internal__n_url_schema;
		}
		default: goto s_n_llhttp__internal__n_error_39;
	  }
	  }
	  case s_n_llhttp__internal__n_url_start:
	s_n_llhttp__internal__n_url_start: {
	  static uint8_t lookup_table[] = {
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
		3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
		0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
		3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
	  };
	  if (p==endp) return s_n_llhttp__internal__n_url_start;
	  switch (lookup_table[(uint8_t)*p]) {
		case 1: {
		  ++p;goto s_n_llhttp__internal__n_error_37;
		}
		case 2: goto s_n_llhttp__internal__n_span_start_stub_path_2;
		case 3: goto s_n_llhttp__internal__n_url_schema;
		default: goto s_n_llhttp__internal__n_error_40;
	  }
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_url_1:
	s_n_llhttp__internal__n_span_start_llhttp__on_url_1: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_url;
	  goto s_n_llhttp__internal__n_url_start;
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_url:
	s_n_llhttp__internal__n_span_start_llhttp__on_url: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_url;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_url;
	  goto s_n_llhttp__internal__n_url_server;
	  }
	  case s_n_llhttp__internal__n_req_spaces_before_url:
	s_n_llhttp__internal__n_req_spaces_before_url: {
	  if (p==endp) return s_n_llhttp__internal__n_req_spaces_before_url;
	  switch (*p) {
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_req_spaces_before_url;
		}
		default: goto s_n_llhttp__internal__n_invoke_is_equal_method;
	  }
	  }
	  case s_n_llhttp__internal__n_req_first_space_before_url:
	s_n_llhttp__internal__n_req_first_space_before_url: {
	  if (p==endp) return s_n_llhttp__internal__n_req_first_space_before_url;
	  switch (*p) {
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_req_spaces_before_url;
		}
		default: goto s_n_llhttp__internal__n_error_41;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_2:
	s_n_llhttp__internal__n_start_req_2: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_2;
	  switch (*p) {
		case 'L': {
		  ++p;match = 19;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_3:
	s_n_llhttp__internal__n_start_req_3: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_3;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob19,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 36;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_3;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_1:
	s_n_llhttp__internal__n_start_req_1: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_1;
	  switch (*p) {
		case 'C': {
		  ++p;goto s_n_llhttp__internal__n_start_req_2;
		}
		case 'N': {
		  ++p;goto s_n_llhttp__internal__n_start_req_3;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_4:
	s_n_llhttp__internal__n_start_req_4: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_4;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob20,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 16;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_4;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_6:
	s_n_llhttp__internal__n_start_req_6: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_6;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob21,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 22;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_6;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_8:
	s_n_llhttp__internal__n_start_req_8: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_8;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob22,4);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_8;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_9:
	s_n_llhttp__internal__n_start_req_9: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_9;
	  switch (*p) {
		case 'Y': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_7:
	s_n_llhttp__internal__n_start_req_7: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_7;
	  switch (*p) {
		case 'N': {
		  ++p;goto s_n_llhttp__internal__n_start_req_8;
		}
		case 'P': {
		  ++p;goto s_n_llhttp__internal__n_start_req_9;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_5:
	s_n_llhttp__internal__n_start_req_5: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_5;
	  switch (*p) {
		case 'H': {
		  ++p;goto s_n_llhttp__internal__n_start_req_6;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_7;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_12:
	s_n_llhttp__internal__n_start_req_12: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_12;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob23,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_12;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_13:
	s_n_llhttp__internal__n_start_req_13: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_13;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob24,5);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 35;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_13;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_11:
	s_n_llhttp__internal__n_start_req_11: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_11;
	  switch (*p) {
		case 'L': {
		  ++p;goto s_n_llhttp__internal__n_start_req_12;
		}
		case 'S': {
		  ++p;goto s_n_llhttp__internal__n_start_req_13;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_10:
	s_n_llhttp__internal__n_start_req_10: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_10;
	  switch (*p) {
		case 'E': {
		  ++p;goto s_n_llhttp__internal__n_start_req_11;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_14:
	s_n_llhttp__internal__n_start_req_14: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_14;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob25,4);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 45;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_14;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_17:
	s_n_llhttp__internal__n_start_req_17: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_17;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob27,9);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 41;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_17;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_16:
	s_n_llhttp__internal__n_start_req_16: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_16;
	  switch (*p) {
		case '_': {
		  ++p;goto s_n_llhttp__internal__n_start_req_17;
		}
		default: {
		  match = 1;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_15:
	s_n_llhttp__internal__n_start_req_15: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_15;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob26,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_start_req_16;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_15;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_18:
	s_n_llhttp__internal__n_start_req_18: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_18;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob28,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_18;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_20:
	s_n_llhttp__internal__n_start_req_20: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_20;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob29,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 31;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_20;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_21:
	s_n_llhttp__internal__n_start_req_21: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_21;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob30,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_21;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_19:
	s_n_llhttp__internal__n_start_req_19: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_19;
	  switch (*p) {
		case 'I': {
		  ++p;goto s_n_llhttp__internal__n_start_req_20;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_21;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_23:
	s_n_llhttp__internal__n_start_req_23: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_23;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob31,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 24;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_23;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_24:
	s_n_llhttp__internal__n_start_req_24: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_24;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob32,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 23;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_24;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_26:
	s_n_llhttp__internal__n_start_req_26: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_26;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob33,7);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 21;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_26;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_28:
	s_n_llhttp__internal__n_start_req_28: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_28;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob34,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 30;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_28;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_29:
	s_n_llhttp__internal__n_start_req_29: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_29;
	  switch (*p) {
		case 'L': {
		  ++p;match = 10;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_27:
	s_n_llhttp__internal__n_start_req_27: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_27;
	  switch (*p) {
		case 'A': {
		  ++p;goto s_n_llhttp__internal__n_start_req_28;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_29;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_25:
	s_n_llhttp__internal__n_start_req_25: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_25;
	  switch (*p) {
		case 'A': {
		  ++p;goto s_n_llhttp__internal__n_start_req_26;
		}
		case 'C': {
		  ++p;goto s_n_llhttp__internal__n_start_req_27;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_30:
	s_n_llhttp__internal__n_start_req_30: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_30;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob35,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 11;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_30;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_22:
	s_n_llhttp__internal__n_start_req_22: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_22;
	  switch (*p) {
		case '-': {
		  ++p;goto s_n_llhttp__internal__n_start_req_23;
		}
		case 'E': {
		  ++p;goto s_n_llhttp__internal__n_start_req_24;
		}
		case 'K': {
		  ++p;goto s_n_llhttp__internal__n_start_req_25;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_30;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_31:
	s_n_llhttp__internal__n_start_req_31: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_31;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob36,5);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 25;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_31;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_32:
	s_n_llhttp__internal__n_start_req_32: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_32;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob37,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_32;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_35:
	s_n_llhttp__internal__n_start_req_35: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_35;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob38,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 28;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_35;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_36:
	s_n_llhttp__internal__n_start_req_36: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_36;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob39,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 39;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_36;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_34:
	s_n_llhttp__internal__n_start_req_34: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_34;
	  switch (*p) {
		case 'T': {
		  ++p;goto s_n_llhttp__internal__n_start_req_35;
		}
		case 'U': {
		  ++p;goto s_n_llhttp__internal__n_start_req_36;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_37:
	s_n_llhttp__internal__n_start_req_37: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_37;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob40,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 38;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_37;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_38:
	s_n_llhttp__internal__n_start_req_38: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_38;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob41,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_38;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_42:
	s_n_llhttp__internal__n_start_req_42: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_42;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob42,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 12;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_42;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_43:
	s_n_llhttp__internal__n_start_req_43: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_43;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob43,4);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 13;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_43;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_41:
	s_n_llhttp__internal__n_start_req_41: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_41;
	  switch (*p) {
		case 'F': {
		  ++p;goto s_n_llhttp__internal__n_start_req_42;
		}
		case 'P': {
		  ++p;goto s_n_llhttp__internal__n_start_req_43;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_40:
	s_n_llhttp__internal__n_start_req_40: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_40;
	  switch (*p) {
		case 'P': {
		  ++p;goto s_n_llhttp__internal__n_start_req_41;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_39:
	s_n_llhttp__internal__n_start_req_39: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_39;
	  switch (*p) {
		case 'I': {
		  ++p;match = 34;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_40;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_45:
	s_n_llhttp__internal__n_start_req_45: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_45;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob44,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 29;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_45;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_44:
	s_n_llhttp__internal__n_start_req_44: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_44;
	  switch (*p) {
		case 'R': {
		  ++p;goto s_n_llhttp__internal__n_start_req_45;
		}
		case 'T': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_33:
	s_n_llhttp__internal__n_start_req_33: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_33;
	  switch (*p) {
		case 'A': {
		  ++p;goto s_n_llhttp__internal__n_start_req_34;
		}
		case 'L': {
		  ++p;goto s_n_llhttp__internal__n_start_req_37;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_38;
		}
		case 'R': {
		  ++p;goto s_n_llhttp__internal__n_start_req_39;
		}
		case 'U': {
		  ++p;goto s_n_llhttp__internal__n_start_req_44;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_48:
	s_n_llhttp__internal__n_start_req_48: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_48;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob45,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 17;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_48;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_49:
	s_n_llhttp__internal__n_start_req_49: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_49;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob46,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 44;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_49;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_50:
	s_n_llhttp__internal__n_start_req_50: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_50;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob47,5);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 43;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_50;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_51:
	s_n_llhttp__internal__n_start_req_51: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_51;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob48,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 20;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_51;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_47:
	s_n_llhttp__internal__n_start_req_47: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_47;
	  switch (*p) {
		case 'B': {
		  ++p;goto s_n_llhttp__internal__n_start_req_48;
		}
		case 'C': {
		  ++p;goto s_n_llhttp__internal__n_start_req_49;
		}
		case 'D': {
		  ++p;goto s_n_llhttp__internal__n_start_req_50;
		}
		case 'P': {
		  ++p;goto s_n_llhttp__internal__n_start_req_51;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_46:
	s_n_llhttp__internal__n_start_req_46: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_46;
	  switch (*p) {
		case 'E': {
		  ++p;goto s_n_llhttp__internal__n_start_req_47;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_54:
	s_n_llhttp__internal__n_start_req_54: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_54;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob49,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 14;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_54;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_56:
	s_n_llhttp__internal__n_start_req_56: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_56;
	  switch (*p) {
		case 'P': {
		  ++p;match = 37;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_57:
	s_n_llhttp__internal__n_start_req_57: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_57;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob50,9);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 42;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_57;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_55:
	s_n_llhttp__internal__n_start_req_55: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_55;
	  switch (*p) {
		case 'U': {
		  ++p;goto s_n_llhttp__internal__n_start_req_56;
		}
		case '_': {
		  ++p;goto s_n_llhttp__internal__n_start_req_57;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_53:
	s_n_llhttp__internal__n_start_req_53: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_53;
	  switch (*p) {
		case 'A': {
		  ++p;goto s_n_llhttp__internal__n_start_req_54;
		}
		case 'T': {
		  ++p;goto s_n_llhttp__internal__n_start_req_55;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_58:
	s_n_llhttp__internal__n_start_req_58: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_58;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob51,4);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 33;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_58;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_59:
	s_n_llhttp__internal__n_start_req_59: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_59;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob52,7);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 26;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_59;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_52:
	s_n_llhttp__internal__n_start_req_52: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_52;
	  switch (*p) {
		case 'E': {
		  ++p;goto s_n_llhttp__internal__n_start_req_53;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_58;
		}
		case 'U': {
		  ++p;goto s_n_llhttp__internal__n_start_req_59;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_61:
	s_n_llhttp__internal__n_start_req_61: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_61;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob53,6);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 40;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_61;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_62:
	s_n_llhttp__internal__n_start_req_62: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_62;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob54,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_62;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_60:
	s_n_llhttp__internal__n_start_req_60: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_60;
	  switch (*p) {
		case 'E': {
		  ++p;goto s_n_llhttp__internal__n_start_req_61;
		}
		case 'R': {
		  ++p;goto s_n_llhttp__internal__n_start_req_62;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_65:
	s_n_llhttp__internal__n_start_req_65: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_65;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob55,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 18;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_65;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_67:
	s_n_llhttp__internal__n_start_req_67: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_67;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob56,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 32;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_67;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_68:
	s_n_llhttp__internal__n_start_req_68: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_68;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob57,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 15;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_68;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_66:
	s_n_llhttp__internal__n_start_req_66: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_66;
	  switch (*p) {
		case 'I': {
		  ++p;goto s_n_llhttp__internal__n_start_req_67;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_68;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_69:
	s_n_llhttp__internal__n_start_req_69: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_req_69;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob58,8);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 27;
		  goto s_n_llhttp__internal__n_invoke_store_method_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_req_69;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_64:
	s_n_llhttp__internal__n_start_req_64: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_64;
	  switch (*p) {
		case 'B': {
		  ++p;goto s_n_llhttp__internal__n_start_req_65;
		}
		case 'L': {
		  ++p;goto s_n_llhttp__internal__n_start_req_66;
		}
		case 'S': {
		  ++p;goto s_n_llhttp__internal__n_start_req_69;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_63:
	s_n_llhttp__internal__n_start_req_63: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_63;
	  switch (*p) {
		case 'N': {
		  ++p;goto s_n_llhttp__internal__n_start_req_64;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req:
	s_n_llhttp__internal__n_start_req: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req;
	  switch (*p) {
		case 'A': {
		  ++p;goto s_n_llhttp__internal__n_start_req_1;
		}
		case 'B': {
		  ++p;goto s_n_llhttp__internal__n_start_req_4;
		}
		case 'C': {
		  ++p;goto s_n_llhttp__internal__n_start_req_5;
		}
		case 'D': {
		  ++p;goto s_n_llhttp__internal__n_start_req_10;
		}
		case 'F': {
		  ++p;goto s_n_llhttp__internal__n_start_req_14;
		}
		case 'G': {
		  ++p;goto s_n_llhttp__internal__n_start_req_15;
		}
		case 'H': {
		  ++p;goto s_n_llhttp__internal__n_start_req_18;
		}
		case 'L': {
		  ++p;goto s_n_llhttp__internal__n_start_req_19;
		}
		case 'M': {
		  ++p;goto s_n_llhttp__internal__n_start_req_22;
		}
		case 'N': {
		  ++p;goto s_n_llhttp__internal__n_start_req_31;
		}
		case 'O': {
		  ++p;goto s_n_llhttp__internal__n_start_req_32;
		}
		case 'P': {
		  ++p;goto s_n_llhttp__internal__n_start_req_33;
		}
		case 'R': {
		  ++p;goto s_n_llhttp__internal__n_start_req_46;
		}
		case 'S': {
		  ++p;goto s_n_llhttp__internal__n_start_req_52;
		}
		case 'T': {
		  ++p;goto s_n_llhttp__internal__n_start_req_60;
		}
		case 'U': {
		  ++p;goto s_n_llhttp__internal__n_start_req_63;
		}
		default: goto s_n_llhttp__internal__n_error_49;
	  }
	  }
	  case s_n_llhttp__internal__n_invoke_llhttp__on_status_complete:
	s_n_llhttp__internal__n_invoke_llhttp__on_status_complete: {
		llhttp__on_status_complete(state,p,endp);
		goto s_n_llhttp__internal__n_header_field_start;
	  }
	  case s_n_llhttp__internal__n_res_line_almost_done:
	s_n_llhttp__internal__n_res_line_almost_done: {
	  if (p==endp) return s_n_llhttp__internal__n_res_line_almost_done;
	  ++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete;
	  }
	  case s_n_llhttp__internal__n_res_status:
	s_n_llhttp__internal__n_res_status: {
	  if (p==endp) return s_n_llhttp__internal__n_res_status;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_span_end_llhttp__on_status;
		case 13: goto s_n_llhttp__internal__n_span_end_llhttp__on_status_1;
		default: {
		  ++p;goto s_n_llhttp__internal__n_res_status;
		}
	  }
	  }
	  case s_n_llhttp__internal__n_span_start_llhttp__on_status:
	s_n_llhttp__internal__n_span_start_llhttp__on_status: {
	  if (p==endp) return s_n_llhttp__internal__n_span_start_llhttp__on_status;
	  state->_span_pos0 = p;
	  state->_span_cb0 = (void*)llhttp__on_status;
	  goto s_n_llhttp__internal__n_res_status;
	  }
	  case s_n_llhttp__internal__n_res_status_start:
	s_n_llhttp__internal__n_res_status_start: {
	  if (p==endp) return s_n_llhttp__internal__n_res_status_start;
	  switch (*p) {
		case 10: {
		  ++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete;
		}
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_res_line_almost_done;
		}
		default: goto s_n_llhttp__internal__n_span_start_llhttp__on_status;
	  }
	  }
	  case s_n_llhttp__internal__n_res_status_code_otherwise:
	s_n_llhttp__internal__n_res_status_code_otherwise: {
	  if (p==endp) return s_n_llhttp__internal__n_res_status_code_otherwise;
	  switch (*p) {
		case 10: goto s_n_llhttp__internal__n_res_status_start;
		case 13: goto s_n_llhttp__internal__n_res_status_start;
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_res_status_start;
		}
		default: goto s_n_llhttp__internal__n_error_43;
	  }
	  }
	  case s_n_llhttp__internal__n_res_status_code:
	s_n_llhttp__internal__n_res_status_code: {
	  if (p==endp) return s_n_llhttp__internal__n_res_status_code;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
		}
		default: goto s_n_llhttp__internal__n_res_status_code_otherwise;
	  }
	  }
	  case s_n_llhttp__internal__n_res_http_end:
	s_n_llhttp__internal__n_res_http_end: {
	  if (p==endp) return s_n_llhttp__internal__n_res_http_end;
	  switch (*p) {
		case ' ': {
		  ++p;goto s_n_llhttp__internal__n_invoke_update_status_code;
		}
		default: goto s_n_llhttp__internal__n_error_44;
	  }
	  }
	  case s_n_llhttp__internal__n_res_http_minor:
	s_n_llhttp__internal__n_res_http_minor: {
	  if (p==endp) return s_n_llhttp__internal__n_res_http_minor;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
		}
		default: goto s_n_llhttp__internal__n_error_45;
	  }
	  }
	  case s_n_llhttp__internal__n_res_http_dot:
	s_n_llhttp__internal__n_res_http_dot: {
	  if (p==endp) return s_n_llhttp__internal__n_res_http_dot;
	  switch (*p) {
		case '.': {
		  ++p;goto s_n_llhttp__internal__n_res_http_minor;
		}
		default: goto s_n_llhttp__internal__n_error_46;
	  }
	  }
	  case s_n_llhttp__internal__n_res_http_major:
	s_n_llhttp__internal__n_res_http_major: {
	  if (p==endp) return s_n_llhttp__internal__n_res_http_major;
	  switch (*p) {
		case '0': {
		  ++p;match = 0;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '1': {
		  ++p;match = 1;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '2': {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '3': {
		  ++p;match = 3;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '4': {
		  ++p;match = 4;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '5': {
		  ++p;match = 5;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '6': {
		  ++p;match = 6;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '7': {
		  ++p;match = 7;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '8': {
		  ++p;match = 8;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		case '9': {
		  ++p;match = 9;
		  goto s_n_llhttp__internal__n_invoke_store_http_major_1;
		}
		default: goto s_n_llhttp__internal__n_error_47;
	  }
	  }
	  case s_n_llhttp__internal__n_start_res:
	s_n_llhttp__internal__n_start_res: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_start_res;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob59,5);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_res_http_major;
		}
		case kMatchPause: return s_n_llhttp__internal__n_start_res;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_50;
	  }
	  }
	  case s_n_llhttp__internal__n_req_or_res_method_2:
	s_n_llhttp__internal__n_req_or_res_method_2: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_req_or_res_method_2;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob60,2);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;match = 2;
		  goto s_n_llhttp__internal__n_invoke_store_method;
		}
		case kMatchPause: return s_n_llhttp__internal__n_req_or_res_method_2;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_48;
	  }
	  }
	  case s_n_llhttp__internal__n_req_or_res_method_3:
	s_n_llhttp__internal__n_req_or_res_method_3: {
	  llparse_match_t match_seq;
	  if (p==endp) return s_n_llhttp__internal__n_req_or_res_method_3;
	  match_seq = llparse__match_sequence_id(state,p,endp,llparse_blob61,3);
	  p = match_seq.current;
	  switch (match_seq.status) {
		case kMatchComplete: {
		  ++p;goto s_n_llhttp__internal__n_invoke_update_type_1;
		}
		case kMatchPause: return s_n_llhttp__internal__n_req_or_res_method_3;
		case kMatchMismatch: goto s_n_llhttp__internal__n_error_48;
	  }
	  }
	  case s_n_llhttp__internal__n_req_or_res_method_1:
	s_n_llhttp__internal__n_req_or_res_method_1: {
	  if (p==endp) return s_n_llhttp__internal__n_req_or_res_method_1;
	  switch (*p) {
		case 'E': {
		  ++p;goto s_n_llhttp__internal__n_req_or_res_method_2;
		}
		case 'T': {
		  ++p;goto s_n_llhttp__internal__n_req_or_res_method_3;
		}
		default: goto s_n_llhttp__internal__n_error_48;
	  }
	  }
	  case s_n_llhttp__internal__n_req_or_res_method:
	s_n_llhttp__internal__n_req_or_res_method: {
	  if (p==endp) return s_n_llhttp__internal__n_req_or_res_method;
	  switch (*p) {
		case 'H': {
		  ++p;goto s_n_llhttp__internal__n_req_or_res_method_1;
		}
		default: goto s_n_llhttp__internal__n_error_48;
	  }
	  }
	  case s_n_llhttp__internal__n_start_req_or_res:
	s_n_llhttp__internal__n_start_req_or_res: {
	  if (p==endp) return s_n_llhttp__internal__n_start_req_or_res;
	  switch (*p) {
		case 'H': goto s_n_llhttp__internal__n_req_or_res_method;
		default: goto s_n_llhttp__internal__n_invoke_update_type_2;
	  }
	  }
	  case s_n_llhttp__internal__n_invoke_load_type:
	s_n_llhttp__internal__n_invoke_load_type: {
	  switch (llhttp__internal__c_load_type(state,p,endp)) {
		case 1:goto s_n_llhttp__internal__n_start_req;
		case 2:goto s_n_llhttp__internal__n_start_res;
		default:goto s_n_llhttp__internal__n_start_req_or_res;
	  }
	  }
	  case s_n_llhttp__internal__n_start:
	s_n_llhttp__internal__n_start: {
	  if (p==endp) return s_n_llhttp__internal__n_start;
	  switch (*p) {
		case 10: {
		  ++p;goto s_n_llhttp__internal__n_start;
		}
		case 13: {
		  ++p;goto s_n_llhttp__internal__n_start;
		}
		default: goto s_n_llhttp__internal__n_invoke_update_finish;
	  }
	  }
	  default:
	  abort();
	}
  s_n_llhttp__internal__n_error_37: {
	state->error = 0x7;
	state->reason = "Invalid characters in url";
	state->error_pos = (const char*)p;
	state->_current = (void*)(intptr_t)s_error;
	return s_error;
	}
s_n_llhttp__internal__n_invoke_update_finish_2: {
	llhttp__internal__c_update_finish_1(state,p,endp);
	goto s_n_llhttp__internal__n_start;
  }
s_n_llhttp__internal__n_invoke_test_lenient_flags: {
switch (llhttp__internal__c_test_lenient_flags(state,p,endp)) {
  case 1:goto s_n_llhttp__internal__n_invoke_update_finish_2;
  default:goto s_n_llhttp__internal__n_closed;
}
}
s_n_llhttp__internal__n_invoke_update_finish_1: {
  llhttp__internal__c_update_finish_1(state,p,endp);
  goto s_n_llhttp__internal__n_invoke_test_lenient_flags;
}
s_n_llhttp__internal__n_pause_5: {
state->error = 0x15;
state->reason = "on_message_complete pause";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_is_equal_upgrade;
return s_error;
}
s_n_llhttp__internal__n_error_9: {
state->error = 0x12;
state->reason = "`on_message_complete` callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_pause_7: {
state->error = 0x15;
state->reason = "on_chunk_complete pause";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
return s_error;
}
s_n_llhttp__internal__n_error_12: {
state->error = 0x14;
state->reason = "`on_chunk_complete` callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1: {
switch (llhttp__on_chunk_complete(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
  case 21:goto s_n_llhttp__internal__n_pause_7;
  default:goto s_n_llhttp__internal__n_error_12;
}
}
s_n_llhttp__internal__n_error_11: {
state->error = 0x4;
state->reason = "Content-Length can't be present with Transfer-Encoding";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_pause_2: {
state->error = 0x15;
state->reason = "on_message_complete pause";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_pause_1;
return s_error;
}
s_n_llhttp__internal__n_error_3: {
state->error = 0x12;
state->reason = "`on_message_complete` callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1: {
switch (llhttp__on_message_complete(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_pause_1;
  case 21:goto s_n_llhttp__internal__n_pause_2;
  default:goto s_n_llhttp__internal__n_error_3;
}
}
s_n_llhttp__internal__n_error_7: {
state->error = 0xc;
state->reason = "Chunk size overflow";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_pause_3: {
state->error = 0x15;
state->reason = "on_chunk_complete pause";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_update_content_length;
return s_error;
}
s_n_llhttp__internal__n_error_5: {
state->error = 0x14;
state->reason = "`on_chunk_complete` callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete: {
switch (llhttp__on_chunk_complete(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_invoke_update_content_length;
  case 21:goto s_n_llhttp__internal__n_pause_3;
  default:goto s_n_llhttp__internal__n_error_5;
}
}
s_n_llhttp__internal__n_span_end_llhttp__on_body: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_body(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_chunk_data_almost_done;
  return s_error;
}
goto s_n_llhttp__internal__n_chunk_data_almost_done;
}
s_n_llhttp__internal__n_invoke_or_flags: {
  llhttp__internal__c_or_flags(state,p,endp);
  goto s_n_llhttp__internal__n_header_field_start;
}
s_n_llhttp__internal__n_pause_4: {
state->error = 0x15;
state->reason = "on_chunk_header pause";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_is_equal_content_length;
return s_error;
}
s_n_llhttp__internal__n_error_4: {
state->error = 0x13;
state->reason = "`on_chunk_header` callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header: {
switch (llhttp__on_chunk_header(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_invoke_is_equal_content_length;
  case 21:goto s_n_llhttp__internal__n_pause_4;
  default:goto s_n_llhttp__internal__n_error_4;
}
}
s_n_llhttp__internal__n_error_6: {
state->error = 0xc;
state->reason = "Invalid character in chunk size";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_mul_add_content_length: {
switch (llhttp__internal__c_mul_add_content_length(state,p,endp,match)) {
  case 1:goto s_n_llhttp__internal__n_error_7;
  default:goto s_n_llhttp__internal__n_chunk_size;
}
}
s_n_llhttp__internal__n_error_8: {
state->error = 0xc;
state->reason = "Invalid character in chunk size";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_span_end_llhttp__on_body_1: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_body(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
  return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
}
s_n_llhttp__internal__n_invoke_update_finish_3: {
  llhttp__internal__c_update_finish_3(state,p,endp);
  goto s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
}
s_n_llhttp__internal__n_error_10: {
state->error = 0xf;
state->reason = "Request has invalid `Transfer-Encoding`";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_pause: {
state->error = 0x15;
state->reason = "on_message_complete pause";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
return s_error;
}
s_n_llhttp__internal__n_error_2: {
state->error = 0x12;
state->reason = "`on_message_complete` callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_llhttp__on_message_complete: {
switch (llhttp__on_message_complete(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
  case 21:goto s_n_llhttp__internal__n_pause;
  default:goto s_n_llhttp__internal__n_error_2;
}
}
s_n_llhttp__internal__n_invoke_or_flags_1: {
  llhttp__internal__c_or_flags_1(state,p,endp);
  goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
}
s_n_llhttp__internal__n_invoke_or_flags_2: {
  llhttp__internal__c_or_flags_1(state,p,endp);
  goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
}
s_n_llhttp__internal__n_invoke_update_upgrade: {
  llhttp__internal__c_update_upgrade(state,p,endp);
  goto s_n_llhttp__internal__n_invoke_or_flags_2;
}
s_n_llhttp__internal__n_pause_6: {
state->error = 0x15;
state->reason = "Paused by on_headers_complete";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
return s_error;
}
s_n_llhttp__internal__n_error_1: {
state->error = 0x11;
state->reason = "User callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete: {
switch (llhttp__on_headers_complete(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
  case 1:goto s_n_llhttp__internal__n_invoke_or_flags_1;
  case 2:goto s_n_llhttp__internal__n_invoke_update_upgrade;
  case 21:goto s_n_llhttp__internal__n_pause_6;
  default:goto s_n_llhttp__internal__n_error_1;
}
}
s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete: {
llhttp__before_headers_complete(state,p,endp);
goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_1: {
switch (llhttp__internal__c_test_lenient_flags_1(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_error_11;
  default:goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
}
}
s_n_llhttp__internal__n_invoke_test_flags_1: {
switch (llhttp__internal__c_test_flags_1(state,p,endp)) {
  case 1:goto s_n_llhttp__internal__n_invoke_test_lenient_flags_1;
  default:goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
}
}
s_n_llhttp__internal__n_invoke_test_flags: {
switch (llhttp__internal__c_test_flags(state,p,endp)) {
  case 1:goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1;
  default:goto s_n_llhttp__internal__n_invoke_test_flags_1;
}
}
s_n_llhttp__internal__n_error_13: {
state->error = 0xb;
state->reason = "Empty Content-Length";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_value(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
  return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
}
s_n_llhttp__internal__n_invoke_update_header_state: {
llhttp__internal__c_update_header_state(state,p,endp);
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
}
s_n_llhttp__internal__n_invoke_or_flags_3: {
llhttp__internal__c_or_flags_3(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state;
}
s_n_llhttp__internal__n_invoke_or_flags_4: {
llhttp__internal__c_or_flags_4(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state;
}
s_n_llhttp__internal__n_invoke_or_flags_5: {
llhttp__internal__c_or_flags_5(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state;
}
s_n_llhttp__internal__n_invoke_or_flags_6: {
llhttp__internal__c_or_flags_6(state,p,endp);
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
}
s_n_llhttp__internal__n_invoke_load_header_state_1: {
switch (llhttp__internal__c_load_header_state(state,p,endp)) {
  case 5:goto s_n_llhttp__internal__n_invoke_or_flags_3;
  case 6:goto s_n_llhttp__internal__n_invoke_or_flags_4;
  case 7:goto s_n_llhttp__internal__n_invoke_or_flags_5;
  case 8:goto s_n_llhttp__internal__n_invoke_or_flags_6;
  default:goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
}
}
s_n_llhttp__internal__n_invoke_load_header_state: {
switch (llhttp__internal__c_load_header_state(state,p,endp)) {
  case 2:goto s_n_llhttp__internal__n_error_13;
  default:goto s_n_llhttp__internal__n_invoke_load_header_state_1;
}
}
s_n_llhttp__internal__n_invoke_update_header_state_1: {
llhttp__internal__c_update_header_state(state,p,endp);
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
}
s_n_llhttp__internal__n_invoke_or_flags_7: {
llhttp__internal__c_or_flags_3(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state_1;
}
s_n_llhttp__internal__n_invoke_or_flags_8: {
llhttp__internal__c_or_flags_4(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state_1;
}
s_n_llhttp__internal__n_invoke_or_flags_9: {
llhttp__internal__c_or_flags_5(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state_1;
}
s_n_llhttp__internal__n_invoke_or_flags_10: {
llhttp__internal__c_or_flags_6(state,p,endp);
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
}
s_n_llhttp__internal__n_invoke_load_header_state_3: {
switch (llhttp__internal__c_load_header_state(state,p,endp)) {
  case 5:goto s_n_llhttp__internal__n_invoke_or_flags_7;
  case 6:goto s_n_llhttp__internal__n_invoke_or_flags_8;
  case 7:goto s_n_llhttp__internal__n_invoke_or_flags_9;
  case 8:goto s_n_llhttp__internal__n_invoke_or_flags_10;
  default:goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
}
}
s_n_llhttp__internal__n_error_14: {
state->error = 0x3;
state->reason = "Missing expected LF after header value";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_value(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_header_value_almost_done;
  return s_error;
}
goto s_n_llhttp__internal__n_header_value_almost_done;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_value(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)(p+1);
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_header_value_almost_done;
  return s_error;
}
++p;goto s_n_llhttp__internal__n_header_value_almost_done;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_value(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)(p+1);
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_header_value_almost_done;
  return s_error;
}
++p;goto s_n_llhttp__internal__n_header_value_almost_done;
}
s_n_llhttp__internal__n_error_15: {
state->error = 0xa;
state->reason = "Invalid header value char";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_2: {
switch (llhttp__internal__c_test_lenient_flags_2(state,p,endp)) {
  case 1:goto s_n_llhttp__internal__n_header_value_lenient;
  default:goto s_n_llhttp__internal__n_error_15;
}
}
s_n_llhttp__internal__n_invoke_update_header_state_3: {
llhttp__internal__c_update_header_state(state,p,endp);
goto s_n_llhttp__internal__n_header_value_connection;
}
s_n_llhttp__internal__n_invoke_or_flags_11: {
llhttp__internal__c_or_flags_3(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state_3;
}
s_n_llhttp__internal__n_invoke_or_flags_12: {
llhttp__internal__c_or_flags_4(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state_3;
}
s_n_llhttp__internal__n_invoke_or_flags_13: {
llhttp__internal__c_or_flags_5(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state_3;
}
s_n_llhttp__internal__n_invoke_or_flags_14: {
llhttp__internal__c_or_flags_6(state,p,endp);
goto s_n_llhttp__internal__n_header_value_connection;
}
s_n_llhttp__internal__n_invoke_load_header_state_4: {
switch (llhttp__internal__c_load_header_state(state,p,endp)) {
  case 5:goto s_n_llhttp__internal__n_invoke_or_flags_11;
  case 6:goto s_n_llhttp__internal__n_invoke_or_flags_12;
  case 7:goto s_n_llhttp__internal__n_invoke_or_flags_13;
  case 8:goto s_n_llhttp__internal__n_invoke_or_flags_14;
  default:goto s_n_llhttp__internal__n_header_value_connection;
}
}
s_n_llhttp__internal__n_invoke_update_header_state_4: {
llhttp__internal__c_update_header_state_4(state,p,endp);
goto s_n_llhttp__internal__n_header_value_connection_token;
}
s_n_llhttp__internal__n_invoke_update_header_state_2: {
llhttp__internal__c_update_header_state_2(state,p,endp);
goto s_n_llhttp__internal__n_header_value_connection_ws;
}
s_n_llhttp__internal__n_invoke_update_header_state_5: {
llhttp__internal__c_update_header_state_5(state,p,endp);
goto s_n_llhttp__internal__n_header_value_connection_ws;
}
s_n_llhttp__internal__n_invoke_update_header_state_6: {
llhttp__internal__c_update_header_state_6(state,p,endp);
goto s_n_llhttp__internal__n_header_value_connection_ws;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_value(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_error_17;
  return s_error;
}
goto s_n_llhttp__internal__n_error_17;
}
s_n_llhttp__internal__n_invoke_mul_add_content_length_1: {
switch (llhttp__internal__c_mul_add_content_length_1(state,p,endp,match)) {
  case 1:goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4;
  default:goto s_n_llhttp__internal__n_header_value_content_length;
}
}
s_n_llhttp__internal__n_invoke_or_flags_15: {
llhttp__internal__c_or_flags_15(state,p,endp);
goto s_n_llhttp__internal__n_header_value_otherwise;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_value(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_error_18;
  return s_error;
}
goto s_n_llhttp__internal__n_error_18;
}
s_n_llhttp__internal__n_error_16: {
state->error = 0x4;
state->reason = "Duplicate Content-Length";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_test_flags_2: {
switch (llhttp__internal__c_test_flags_2(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_header_value_content_length;
  default:goto s_n_llhttp__internal__n_error_16;
}
}
s_n_llhttp__internal__n_invoke_update_header_state_7: {
llhttp__internal__c_update_header_state_7(state,p,endp);
goto s_n_llhttp__internal__n_header_value_otherwise;
}
s_n_llhttp__internal__n_invoke_update_header_state_8: {
llhttp__internal__c_update_header_state_4(state,p,endp);
goto s_n_llhttp__internal__n_header_value;
}
s_n_llhttp__internal__n_invoke_and_flags: {
llhttp__internal__c_and_flags(state,p,endp);
goto s_n_llhttp__internal__n_header_value_te_chunked;
}
s_n_llhttp__internal__n_invoke_or_flags_16: {
llhttp__internal__c_or_flags_16(state,p,endp);
goto s_n_llhttp__internal__n_invoke_and_flags;
}
s_n_llhttp__internal__n_invoke_or_flags_17: {
llhttp__internal__c_or_flags_17(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_header_state_8;
}
s_n_llhttp__internal__n_invoke_load_header_state_2: {
switch (llhttp__internal__c_load_header_state(state,p,endp)) {
  case 1:goto s_n_llhttp__internal__n_header_value_connection;
  case 2:goto s_n_llhttp__internal__n_invoke_test_flags_2;
  case 3:goto s_n_llhttp__internal__n_invoke_or_flags_16;
  case 4:goto s_n_llhttp__internal__n_invoke_or_flags_17;
  default:goto s_n_llhttp__internal__n_header_value;
}
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_field: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_field(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)(p+1);
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete;
  return s_error;
}
++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_header_field(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)(p+1);
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete;
  return s_error;
}
++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete;
}
s_n_llhttp__internal__n_error_19: {
state->error = 0xa;
state->reason = "Invalid header token";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_update_header_state_9: {
llhttp__internal__c_update_header_state_4(state,p,endp);
goto s_n_llhttp__internal__n_header_field_general;
}
s_n_llhttp__internal__n_invoke_store_header_state: {
llhttp__internal__c_store_header_state(state,p,endp,match);
goto s_n_llhttp__internal__n_header_field_colon;
}
s_n_llhttp__internal__n_invoke_update_header_state_10: {
llhttp__internal__c_update_header_state_4(state,p,endp);
goto s_n_llhttp__internal__n_header_field_general;
}
s_n_llhttp__internal__n_invoke_llhttp__on_url_complete: {
llhttp__on_url_complete(state,p,endp);
goto s_n_llhttp__internal__n_header_field_start;
}
s_n_llhttp__internal__n_invoke_update_http_minor: {
llhttp__internal__c_update_http_minor(state,p,endp);
goto s_n_llhttp__internal__n_invoke_llhttp__on_url_complete;
}
s_n_llhttp__internal__n_invoke_update_http_major: {
llhttp__internal__c_update_http_major(state,p,endp);
goto s_n_llhttp__internal__n_invoke_update_http_minor;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_3: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
}
s_n_llhttp__internal__n_error_20: {
state->error = 0x7;
state->reason = "Expected CRLF";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_4: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_lf_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
}
s_n_llhttp__internal__n_error_23: {
state->error = 0x17;
state->reason = "Pause on PRI/Upgrade";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_24: {
state->error = 0x9;
state->reason = "Expected HTTP/2 Connection Preface";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_22: {
state->error = 0x9;
state->reason = "Expected CRLF after version";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_load_method_1: {
switch (llhttp__internal__c_load_method(state,p,endp)) {
  case 34:goto s_n_llhttp__internal__n_req_pri_upgrade;
  default:goto s_n_llhttp__internal__n_req_http_complete;
}
}
s_n_llhttp__internal__n_invoke_store_http_minor: {
llhttp__internal__c_store_http_minor(state,p,endp,match);
goto s_n_llhttp__internal__n_invoke_load_method_1;
}
s_n_llhttp__internal__n_error_25: {
state->error = 0x9;
state->reason = "Invalid minor version";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_26: {
state->error = 0x9;
state->reason = "Expected dot";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_store_http_major: {
llhttp__internal__c_store_http_major(state,p,endp,match);
goto s_n_llhttp__internal__n_req_http_dot;
}
s_n_llhttp__internal__n_error_27: {
state->error = 0x9;
state->reason = "Invalid major version";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_21: {
state->error = 0x8;
state->reason = "Invalid method for HTTP/x.x request";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_load_method: {
switch (llhttp__internal__c_load_method(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_req_http_major;
  case 1:goto s_n_llhttp__internal__n_req_http_major;
  case 2:goto s_n_llhttp__internal__n_req_http_major;
  case 3:goto s_n_llhttp__internal__n_req_http_major;
  case 4:goto s_n_llhttp__internal__n_req_http_major;
  case 5:goto s_n_llhttp__internal__n_req_http_major;
  case 6:goto s_n_llhttp__internal__n_req_http_major;
  case 7:goto s_n_llhttp__internal__n_req_http_major;
  case 8:goto s_n_llhttp__internal__n_req_http_major;
  case 9:goto s_n_llhttp__internal__n_req_http_major;
  case 10:goto s_n_llhttp__internal__n_req_http_major;
  case 11:goto s_n_llhttp__internal__n_req_http_major;
  case 12:goto s_n_llhttp__internal__n_req_http_major;
  case 13:goto s_n_llhttp__internal__n_req_http_major;
  case 14:goto s_n_llhttp__internal__n_req_http_major;
  case 15:goto s_n_llhttp__internal__n_req_http_major;
  case 16:goto s_n_llhttp__internal__n_req_http_major;
  case 17:goto s_n_llhttp__internal__n_req_http_major;
  case 18:goto s_n_llhttp__internal__n_req_http_major;
  case 19:goto s_n_llhttp__internal__n_req_http_major;
  case 20:goto s_n_llhttp__internal__n_req_http_major;
  case 21:goto s_n_llhttp__internal__n_req_http_major;
  case 22:goto s_n_llhttp__internal__n_req_http_major;
  case 23:goto s_n_llhttp__internal__n_req_http_major;
  case 24:goto s_n_llhttp__internal__n_req_http_major;
  case 25:goto s_n_llhttp__internal__n_req_http_major;
  case 26:goto s_n_llhttp__internal__n_req_http_major;
  case 27:goto s_n_llhttp__internal__n_req_http_major;
  case 28:goto s_n_llhttp__internal__n_req_http_major;
  case 29:goto s_n_llhttp__internal__n_req_http_major;
  case 30:goto s_n_llhttp__internal__n_req_http_major;
  case 31:goto s_n_llhttp__internal__n_req_http_major;
  case 32:goto s_n_llhttp__internal__n_req_http_major;
  case 33:goto s_n_llhttp__internal__n_req_http_major;
  case 34:goto s_n_llhttp__internal__n_req_http_major;
  default:goto s_n_llhttp__internal__n_error_21;
}
}
s_n_llhttp__internal__n_error_30: {
state->error = 0x8;
state->reason = "Expected HTTP/";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_28: {
state->error = 0x8;
state->reason = "Expected SOURCE method for ICE/x.x request";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_load_method_2: {
switch (llhttp__internal__c_load_method(state,p,endp)) {
  case 33:goto s_n_llhttp__internal__n_req_http_major;
  default:goto s_n_llhttp__internal__n_error_28;
}
}
s_n_llhttp__internal__n_error_29: {
state->error = 0x8;
state->reason = "Invalid method for RTSP/x.x request";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_load_method_3: {
switch (llhttp__internal__c_load_method(state,p,endp)) {
  case 1:goto s_n_llhttp__internal__n_req_http_major;
  case 3:goto s_n_llhttp__internal__n_req_http_major;
  case 6:goto s_n_llhttp__internal__n_req_http_major;
  case 35:goto s_n_llhttp__internal__n_req_http_major;
  case 36:goto s_n_llhttp__internal__n_req_http_major;
  case 37:goto s_n_llhttp__internal__n_req_http_major;
  case 38:goto s_n_llhttp__internal__n_req_http_major;
  case 39:goto s_n_llhttp__internal__n_req_http_major;
  case 40:goto s_n_llhttp__internal__n_req_http_major;
  case 41:goto s_n_llhttp__internal__n_req_http_major;
  case 42:goto s_n_llhttp__internal__n_req_http_major;
  case 43:goto s_n_llhttp__internal__n_req_http_major;
  case 44:goto s_n_llhttp__internal__n_req_http_major;
  case 45:goto s_n_llhttp__internal__n_req_http_major;
  default:goto s_n_llhttp__internal__n_error_29;
}
}
s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1: {
llhttp__on_url_complete(state,p,endp);
goto s_n_llhttp__internal__n_req_http_start;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_5: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_6: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_7: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_lf_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_8: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
}
s_n_llhttp__internal__n_error_31: {
state->error = 0x7;
state->reason = "Invalid char in url fragment start";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_9: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_10: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_lf_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_11: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
}
s_n_llhttp__internal__n_error_32: {
state->error = 0x7;
state->reason = "Invalid char in url query";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_33: {
state->error = 0x7;
state->reason = "Invalid char in url path";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_1: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_lf_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_2: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_12: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_13: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_lf_to_http09;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_14: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_url(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)p;
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_url_skip_to_http;
  return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
}
s_n_llhttp__internal__n_error_34: {
state->error = 0x7;
state->reason = "Double @ in url";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_35: {
state->error = 0x7;
state->reason = "Unexpected char in url server";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_36: {
state->error = 0x7;
state->reason = "Unexpected char in url server";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_38: {
state->error = 0x7;
state->reason = "Unexpected char in url schema";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_39: {
state->error = 0x7;
state->reason = "Unexpected char in url schema";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_40: {
state->error = 0x7;
state->reason = "Unexpected start char in url";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_is_equal_method: {
switch (llhttp__internal__c_is_equal_method(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
  default:goto s_n_llhttp__internal__n_span_start_llhttp__on_url;
}
}
s_n_llhttp__internal__n_error_41: {
state->error = 0x6;
state->reason = "Expected space after method";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_store_method_1: {
llhttp__internal__c_store_method(state,p,endp,match);
goto s_n_llhttp__internal__n_req_first_space_before_url;
}
s_n_llhttp__internal__n_error_49: {
state->error = 0x6;
state->reason = "Invalid method encountered";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_42: {
state->error = 0xd;
state->reason = "Response overflow";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_mul_add_status_code: {
switch (llhttp__internal__c_mul_add_status_code(state,p,endp,match)) {
  case 1:goto s_n_llhttp__internal__n_error_42;
  default:goto s_n_llhttp__internal__n_res_status_code;
}
}
s_n_llhttp__internal__n_span_end_llhttp__on_status: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_status(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)(p+1);
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_llhttp__on_status_complete;
  return s_error;
}
++p;goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete;
}
s_n_llhttp__internal__n_span_end_llhttp__on_status_1: {
const unsigned char* start;
int err;start = state->_span_pos0;state->_span_pos0 = NULL;
err = llhttp__on_status(state,start,p);
if (err!=0) {
  state->error = err;
  state->error_pos = (const char*)(p+1);
  state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_res_line_almost_done;
  return s_error;
}
++p;goto s_n_llhttp__internal__n_res_line_almost_done;
}
s_n_llhttp__internal__n_error_43: {
state->error = 0xd;
state->reason = "Invalid response status";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_update_status_code: {
llhttp__internal__c_update_status_code(state,p,endp);
goto s_n_llhttp__internal__n_res_status_code;
}
s_n_llhttp__internal__n_error_44: {
state->error = 0x9;
state->reason = "Expected space after version";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_store_http_minor_1: {
llhttp__internal__c_store_http_minor(state,p,endp,match);
goto s_n_llhttp__internal__n_res_http_end;
}
s_n_llhttp__internal__n_error_45: {
state->error = 0x9;
state->reason = "Invalid minor version";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_46: {
state->error = 0x9;
state->reason = "Expected dot";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_store_http_major_1: {
llhttp__internal__c_store_http_major(state,p,endp,match);
goto s_n_llhttp__internal__n_res_http_dot;
}
s_n_llhttp__internal__n_error_47: {
state->error = 0x9;
state->reason = "Invalid major version";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_error_50: {
state->error = 0x8;
state->reason = "Expected HTTP/";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_update_type: {
llhttp__internal__c_update_type(state,p,endp);
goto s_n_llhttp__internal__n_req_first_space_before_url;
}
s_n_llhttp__internal__n_invoke_store_method: {
llhttp__internal__c_store_method(state,p,endp,match);
goto s_n_llhttp__internal__n_invoke_update_type;
}
s_n_llhttp__internal__n_error_48: {
state->error = 0x8;
state->reason = "Invalid word encountered";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_update_type_1: {
llhttp__internal__c_update_type_1(state,p,endp);
goto s_n_llhttp__internal__n_res_http_major;
}
s_n_llhttp__internal__n_invoke_update_type_2: {
llhttp__internal__c_update_type(state,p,endp);
goto s_n_llhttp__internal__n_start_req;
}
s_n_llhttp__internal__n_pause_8: {
state->error = 0x15;
state->reason = "on_message_begin pause";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_n_llhttp__internal__n_invoke_load_type;
return s_error;
}
s_n_llhttp__internal__n_error: {
state->error = 0x10;
state->reason = "`on_message_begin` callback error";
state->error_pos = (const char*)p;
state->_current = (void*)(intptr_t)s_error;
return s_error;
}
s_n_llhttp__internal__n_invoke_llhttp__on_message_begin: {
switch (llhttp__on_message_begin(state,p,endp)) {
  case 0:goto s_n_llhttp__internal__n_invoke_load_type;
  case 21:goto s_n_llhttp__internal__n_pause_8;
  default:goto s_n_llhttp__internal__n_error;
}
}
s_n_llhttp__internal__n_invoke_update_finish: {
llhttp__internal__c_update_finish(state,p,endp);
goto s_n_llhttp__internal__n_invoke_llhttp__on_message_begin;
}
  }
  int llhttp__internal_execute(http_parser* state,const char* p,const char* endp) {
	llparse_state_t next;
	if (state->error!=0) return state->error;
	if (state->_span_pos0!=NULL) state->_span_pos0 = (const char unsigned*)p;
	next = llhttp__internal__run(state,(const unsigned char*)p,(const unsigned char*)endp);
	if (next==s_error) return state->error;
	state->_current = (void*)(intptr_t)next;
	if (state->_span_pos0!=NULL) {
	  int error;
	  error = ((llhttp__internal__span_cb)state->_span_cb0)(state,(const char*)state->_span_pos0,endp);
	  if (error!=0) {
		state->error = error;
		state->error_pos = endp;
		return error;
	  }
	}
	return 0;
  }
  void llhttp_init(http_parser* parser,llhttp_type_t type,
				   const http_parser_settings* settings) {
	llhttp__internal_init(parser);
	parser->type = type;
	parser->settings = (void*)settings;
  }
  void llhttp_reset(http_parser* parser) {
	int type = parser->type;
	const void* settings = parser->settings;
	void* data = parser->data;
	uint8_t lenient_flags = parser->lenient_flags;
	llhttp__internal_init(parser);
	parser->type = type;
	parser->settings = (void*)settings;
	parser->data = data;
	parser->lenient_flags = lenient_flags;
  }
  int llhttp_execute(http_parser* parser,const char* data,size_t len) { return llhttp__internal_execute(parser,data,data+len); }
  void llhttp_settings_init(http_parser_settings* settings) { memset(settings,0,sizeof(*settings)); }
  int llhttp_finish(http_parser* parser) {
	int err;
	if (parser->error!=0) return HPE_OK;
	switch (parser->finish) {
	  case HTTP_FINISH_SAFE_WITH_CB:
	  CALLBACK_MAYBE(parser,on_message_complete);
	  if (err!=HPE_OK) return err;
	  case HTTP_FINISH_SAFE:
	  return HPE_OK;
	  case HTTP_FINISH_UNSAFE:
	  parser->reason = "Invalid EOF state";
	  return HPE_INVALID_EOF_STATE;
	  default:abort();
	}
  }
  void llhttp_pause(http_parser* parser) {
	if (parser->error!=HPE_OK) return;
	parser->error = HPE_PAUSED;
	parser->reason = "Paused";
  }
  void llhttp_resume(http_parser* parser) {
	if (parser->error!=HPE_PAUSED) return;
	parser->error = 0;
  }
  void llhttp_resume_after_upgrade(http_parser* parser) {
	if (parser->error!=HPE_PAUSED_UPGRADE) return;
	parser->error = 0;
  }
  int llhttp_get_errno(const http_parser* parser) { return parser->error; }
  const char* llhttp_get_error_reason(const http_parser* parser) { return parser->reason; }
  void llhttp_set_error_reason(http_parser* parser,const char* reason) { parser->reason = reason; }
  const char* llhttp_get_error_pos(const http_parser* parser) { return parser->error_pos; }
  const char* llhttp_errno_name(llhttp_errno_t err) {
#define HTTP_ERRNO_GEN(CODE, NAME, _) case HPE_##NAME: return "HPE_" #NAME;
	switch (err) {
	  HTTP_ERRNO_MAP(HTTP_ERRNO_GEN)
	  default: abort();
	}
#undef HTTP_ERRNO_GEN
  }
  const char* llhttp_method_name(llhttp_method_t method) {
#define HTTP_METHOD_GEN(NUM, NAME, STRING) case HTTP_##NAME: return #STRING;
	switch (method) {
	  HTTP_ALL_METHOD_MAP(HTTP_METHOD_GEN)
	  default: abort();
	}
#undef HTTP_METHOD_GEN
  }
  void llhttp_set_lenient_headers(http_parser* parser,int enabled) { if (enabled) parser->lenient_flags |= LENIENT_HEADERS; else parser->lenient_flags &= ~LENIENT_HEADERS; }
  void llhttp_set_lenient_chunked_length(http_parser* parser,int enabled) { if (enabled) parser->lenient_flags |= LENIENT_CHUNKED_LENGTH; else parser->lenient_flags &= ~LENIENT_CHUNKED_LENGTH; }
  void llhttp_set_lenient_keep_alive(http_parser* parser,int enabled) { if (enabled) parser->lenient_flags |= LENIENT_KEEP_ALIVE; else parser->lenient_flags &= ~LENIENT_KEEP_ALIVE; }
  int llhttp__on_message_begin(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_message_begin);return err;
  }
  int llhttp__on_url(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;SPAN_CALLBACK_MAYBE(s,on_url,(const char*)p,endp-p);return err;
  }
  int llhttp__on_url_complete(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_url_complete);return err;
  }
  int llhttp__on_status(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;SPAN_CALLBACK_MAYBE(s,on_status,(const char*)p,endp-p);return err;
  }
  int llhttp__on_status_complete(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_status_complete);return err;
  }
  int llhttp__on_header_field(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;SPAN_CALLBACK_MAYBE(s,on_header_field,(const char*)p,endp-p);return err;
  }
  int llhttp__on_header_field_complete(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_header_field_complete);return err;
  }
  int llhttp__on_header_value(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;SPAN_CALLBACK_MAYBE(s,on_header_value,(const char*)p,endp-p);return err;
  }
  int llhttp__on_header_value_complete(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_header_value_complete);return err;
  }
  int llhttp__on_headers_complete(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_headers_complete);return err;
  }
  int llhttp__on_message_complete(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_message_complete);return err;
  }
  int llhttp__on_body(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;SPAN_CALLBACK_MAYBE(s,on_body,(const char*)p,endp-p);return err;
  }
  int llhttp__on_chunk_header(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_chunk_header);return err;
  }
  int llhttp__on_chunk_complete(http_parser* s,const unsigned char* p,const unsigned char* endp) {
	int err;CALLBACK_MAYBE(s,on_chunk_complete);return err;
  }
  int llhttp__before_headers_complete(http_parser* parser,const unsigned char* p,
									  const unsigned char* endp) {
	if ((parser->flags&F_UPGRADE)&&
		(parser->flags&F_CONNECTION_UPGRADE)) {
	  parser->upgrade =
		(parser->type==HTTP_REQUEST||parser->status_code==101);
	} else { parser->upgrade = (parser->method==HTTP_CONNECT); }
	return 0;
  }
  int llhttp__after_headers_complete(http_parser* parser,const unsigned char* p,
									 const unsigned char* endp) {
	int hasBody;
	hasBody = parser->flags&F_CHUNKED||parser->content_length>0;
	if (parser->upgrade&&(parser->method==HTTP_CONNECT||
						  (parser->flags&F_SKIPBODY)||!hasBody)) { return 1; }
	if (parser->flags&F_SKIPBODY) return 0; else if (parser->flags&F_CHUNKED) return 2; else if (parser->flags&F_TRANSFER_ENCODING) {
	  if (parser->type==HTTP_REQUEST&&
		  (parser->lenient_flags&LENIENT_CHUNKED_LENGTH)==0) { return 5; } else { return 4; }
	} else {
	  if (!(parser->flags&F_CONTENT_LENGTH)) { if (!llhttp_message_needs_eof(parser)) return 0; else return 4; } else if (parser->content_length==0) return 0; else return 3;
	}
  }
  int llhttp__after_message_complete(http_parser* parser,const unsigned char* p,
									 const unsigned char* endp) {
	int should_keep_alive;
	should_keep_alive = llhttp_should_keep_alive(parser);
	parser->finish = HTTP_FINISH_SAFE;
	parser->flags = 0;
	return should_keep_alive;
  }
  int llhttp_message_needs_eof(const http_parser* parser) {
	if (parser->type==HTTP_REQUEST) return 0;
	if (parser->status_code/100==1||
		parser->status_code==204||
		parser->status_code==304||
		(parser->flags&F_SKIPBODY)) { return 0; }
	if ((parser->flags&F_TRANSFER_ENCODING)&&
		(parser->flags&F_CHUNKED)==0) { return 1; }
	if (parser->flags&(F_CHUNKED|F_CONTENT_LENGTH)) return 0;
	return 1;
  }
  int llhttp_should_keep_alive(const http_parser* parser) {
	if (parser->http_major>0&&parser->http_minor>0) { if (parser->flags&F_CONNECTION_CLOSE) return 0; } else { if (!(parser->flags&F_CONNECTION_KEEP_ALIVE)) return 0; }
	return !llhttp_message_needs_eof(parser);
  }
#ifdef __cplusplus
}
#endif
#endif  
#endif  
